Forum Webscript.Ru
Программирование => Perl => Тема начата: Error202 от 25 Февраля 2006, 23:21:01
-
Определяю все данные при момощи CGI -> param(xxx)...
Форма создается динамически...
Как можно узнать сколько полей было передано по форме?
Т.е., допустим, генерится 15 полей "ТЕКСТ" с именами t1, t2, t3.. t15... Может и больше или меньше полей... И нужно определить сколько всего таких полей было передано...
-
@arr_par=param();
и посчитать
-
Error202:
Т.е., допустим, генерится 15 полей "ТЕКСТ" с именами t1, t2, t3.. t15... Может и больше или меньше полей... И нужно определить сколько всего таких полей было передано...
... и каким образом вывести значения этих сгенерированных полей? т.е.
t1 - текст из формы 1,
t2 - текст из формы 2,
t3 - текст из формы 3,
..
t15 - текст из формы 15,
...
Спасибо.
-
вот так пойдет?
foreach $key ($query->param) {
print "$key ->";
@values = $query->param($key);
print join(", ",@values),"
";
}
-
my $q = CGI->new();
my %params = $q->Vars;
foreach my $p (keys %params)
{
print "$p => $params{$p}\\n";
}
-
ок. спасибо!
Теперь усложним задачку. В скрипт из формы передались следующие поля (print "$p => $params{$p}\\n"):
id_1 => 603
id_2 => 602
id_3 => 605
id_4 => 604
ocenka_1 => 5
ocenka_2 => 5
ocenka_3 => 5
ocenka_4 => 5
predmet => Автомобили
Каким образом все это дело разложить по полочкам и внести в БД, чтобы в ней получилось 4 записи - id, predmet, ocenka?
my $sql = qq{INSERT INTO table (id, predmet, ocenka)
VALUES (\'??\', \'??\', \'??\')
};
my $sth = $dbh->prepare($sql);
$sth->execute();
Большое спасибо!
-
а в чем собственно проблема то? если знаешь сколько должно быть записей прошелся в цикле от 1 до 4 и выбрал то что нужно..
-
Да, но все записи (параметр => значение) подходят для дальнейшей работы! Нужно сделать выборку из всех переданных параметров, например, выбрать только параметры id_хх, ocenka_хх и predmet ну и конечно все значения этих параметров, а потом уже приладить для вставки в БД
my $sql = qq{INSERT INTO table (id, predmet, ocenka)
VALUES ($id, \'$predmet\', $ocenka)
};
-
DamonLSD:
Да, но все записи (параметр => значение) подходят для дальнейшей работы! Нужно сделать выборку из всех переданных параметров, например, выбрать только параметры id_хх, ocenka_хх и predmet ну и конечно все значения этих параметров
ммм, непонятно в чем проблема. ты про это;
for (my $i =1; $i<=4; $i++)
{
my $id = $params{\'id_\'.$i};
my $lala = $params{\'lalala_\'.$i};
$sth->execute($id, $lala);
}
-
Green Kakadu, спасибо!