Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

список элементов

3.5K
12 мая 2003 года
Dema
6 / / 14.04.2003
есть список элементов выбранных из mysql по одному столбцу:
$sth = $dbh->query("select film from records");
print "<select name=product size=5>";
while(@arr = $sth->fetchrow) {

foreach(@arr) {

print "<option>", $_;
}

}
print "</select>\n";
print "<input type=submit name=useraction value=\"OK\">";
есть таблица состоящая из полей npp film zakaz и т. д. как по полю film сделать чтобы он выдал и npp и film и zakaz.
как сделать так, чтобы в зависимости от выбранного пользователем элемента по нему выдавалась подробная информация то есть остальные поля.
по типу
$sth = $dbh->query("select * from records where film=выбранному элементу");
подскажите пожалуйста.
283
13 мая 2003 года
Alone
910 / / 20.11.2002
Перевожу
Как определить данные отправленные скрипту из формы. :)
на webscript.ru помоему тебе все ответили...
300
13 мая 2003 года
ReDrum
689 / / 20.04.2000
Код:
#!/usr/bin/perl -w
use strict;
use vars qw/$query $dbh/;

&main();

sub main {
    use CGI;
    $query = CGI->new();

    &connect();

    print $query->header(-type=>'text/html', -expires=>0);
    print $query->start_html();
    print &popup_component();
    print &make_output($query->param('SomeName')) if (defined $query->param('SomeName') && &check_field($query->param('SomeName')));
    print $query->end_html();

    &clean_up();
}

=head2 popup_component()

    Построение комбобокса.
    npp - поле считаю первичным ключом

=cut


sub popup_component {
   my $sth = $dbh->prepare(qq/select npp, film, zakaz from from records/);
   die "Can't prepare query!!!" if (!$sth);
   die "Can't execute query!!!" if (!$sth->execute);

   my $values = [];
   my $labels = {};

   while (my $arr = $sth->fetch) {
       push @$values, $arr->[0];
       $labels->{$arr->[0]} = $arr->[1];
   }

   return &form($values, $labels);
}

sub form {
    my $values = shift;
    my $lables = shift;

    return
      $query->start_form(-method=>'POST', -action=>$query->url(-relative=>1)),
      $query->popup_menu(-name=>'SomeName', -values=>$values, -labels=>$labels),
      $query->submit(-value=>'Ok'),
      $query->end_form();
}

=head2 check_field()

    Проверка существания записи в таблице records.
    На выходе 1 - типа запись существует.
              0 - записи не существует.

=cut

sub check_field {
    .. .. ..
    $checked ? 0 : 1;
}

sub make_output {
    my $value = shift;
    my $sth = $dbh->prepare(qq/select * from records where npp = ?/);
    die "Can't prepare query!!!" if (!$sth);
    die "Can't execute query!!!" if (!$sth->execute($value));

    my $arr = $sth->fetch;

    return &show_info($arr);
}

sub show_info {
    my $arr = shift;
    return
      $query->table({width=>'100%'},
        $query->Tr(
          $query->td('здесь выводишь результаты выборки каким угодно макаром')
        )
      );
}

=head2 connect()

    Поключение к базе данных.

=cut

sub connect {
    $dbh;
    .. ... ... ..
}

=head2 clean_up()

    Отключение от бд.

=cut

sub clean_up {
    .. ..
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог