Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с формой и с MySql 
:(
    Опции темы
PalmOs
Дата 21.5.2008, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 11.2.2008

Репутация: нет
Всего: нет



Помогите со скриптом. Необходимо при вводе значения в поле, присоединятся к базе данных, т е выполнить MySQL запрос:  выбрать записи, соответствующие введенному значению, выбрать  нужные поля из нужных таблиц. Потом всё это вывести ввиде HTML документа. 
На данный момент есть скрипт, где просто можно ввести значение, и потом вывести это значение в таблицу. Заранее спасибо

Код

#!/usr/bin/perl
 
 # script: loan.pl
 use CGI qw/:standard :html3/;
 
 # this defines the contents of the fill out forms
 # on each page.
 @PAGES = ('Partners statistics','Review');
 %FIELDS = ('Partners statistics' => ['ID'],
       );
 # accumulate the field names into %ALL_FIELDS;
 foreach (values %FIELDS) {
     grep($ALL_FIELDS{$_}++,@$_);
 }
 
 
 # figure out what page we're on and where we're heading.
 $current_page = calculate_page(param('page'),param('go'));
 $page_name = $PAGES[$current_page];
 
 print_header();
 print_form($current_page)         if $FIELDS{$page_name};
 print_review($current_page)       if $page_name eq 'Review';
 print_confirmation($current_page) if $page_name eq 'Confirmation';
 print end_html;
 
 # CALCULATE THE CURRENT PAGE
 sub calculate_page {
     my ($prev,$dir) = @_;
     return 0 if $prev eq '';    # start with first page
     return $prev + 1 if $dir eq 'Submit Application';
     return $prev + 1 if $dir eq 'OK';
     return $prev - 1 if $dir eq 'Back';
 }
 # PRINT HTTP AND HTML HEADERS
 sub print_header {
     print header,
     start_html("Partners statistics"),
     h1("Partners statistics"),
     #h2($page_name);
 }
 
 # PRINT ONE OF THE QUESTIONNAIRE PAGES
 sub print_form {
     my $current_page = shift;
     print "Enter ID the partner",
        start_form,
        hr;
     draw_form(@{$FIELDS{$page_name}});
     print hr;
     print submit(-name=>'go',-value=>'Back') 
    if $current_page > 0;
     print submit(-name=>'go',-value=>'OK'),
        hidden(-name=>'page',-value=>$current_page,-override=>1),
        end_form;
 }
 
 # PRINT THE REVIEW PAGE
 
 sub print_review {
     my $current_page = shift;
     print "",
        start_form;
     my (@rows);
     foreach $page ('Partners statistics') {
    push(@rows,th({-align=>LEFT},em($page)));
    foreach $field (@{$FIELDS{$page}}) {
        push(@rows,
         TR(th({-align=>LEFT},$field),
            td(param($field)))
         );
        print hidden(-name=>$field);
    }
     }
     print table({-border=>1},caption($page),@rows),
        hidden(-name=>'page',-value=>$current_page,-override=>1),
        submit(-name=>'go',-value=>'Back'),
        submit(-name=>'go',-value=>'Submit Application'),
        end_form;
 }
 
 # PRINT THE CONFIRMATION PAGE
 sub print_confirmation {
     print "Thank you. A loan officer will be contacting you shortly.",
        p,
        a({-href=>'../source.html'},'Code examples');
 }
 
 
 # CREATE A GENERIC QUESTIONNAIRE
 sub draw_form {
     my (@fields) = @_;
     my (%fields);
     grep ($fields{$_}++,@fields);
     my (@hidden_fields) = grep(!$fields{$_},keys %ALL_FIELDS);
     my (@rows);
     foreach (@fields) {
    push(@rows,
         TR(th({-align=>LEFT},$_),
        td(textfield(-name=>$_,-size=>50))
        )
         );
     }
     print table(@rows);
 
     foreach (@hidden_fields) {
         print hidden(-name=>$_);
     }
 }
  
PM MAIL   Вверх
nitr
Дата 21.5.2008, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 12
Всего: 84



PalmOs, здесь обсуждаем вопросы/интересные моменты/неясности, но никак не "альтруизм". Вам в ЦП (Центр Помощи) - подфорум другой. Или измените трактовку вопроса smile

Для начала изучите работу с MySQL в Perl, для этого можно почитать темы на этом форуме, так же документация
perldoc DBI
perldoc DBD::mysql


--------------------
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0629 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.