|
my $q1 = "insert into test (id, name, subject, num) values ( '.'-, '$qname',
$subject, $num)";
my Sin = $dbh->prepare($q1); $in->execute;
# Извлечем значение ID , которое MySQL создал для нас
my $id = $in->insertid;
my $query = "create table t$id ( id INT NOT NULL,
my $def = "insert into t$id values ( 0, ";
my $total = 0;
my @qs = grep(/^q\d+$/,param);
foreach (@qs) {
$query .= $_ . " INT,\n";
my $value = 0;
$value = param($_) if param($_);
$def .= "lvalue, ";
$total += $value; }
$query .= "total INT\n)"; $def .=-"$total)";
my $in2 = $dbh->prepare($query);
$in2->execute;
my $in3 = $dbh->prepare($def);
$in3->execute;
# Обратите внимание, что мы запоминаем экзамены в отдельных файлах. Это
# полезно при работе с mSQL, поскольку он не поддерживает BLOB.
# (Тип TEXT, поддерживаемый в mSQL 2, можно использовать,
# но это неэффективно.)
# Поскольку мы используем MySQL, можно с таким же успехом
# поместить весь экзамен в BLOB.
open(TEST,">teach/tests/$id") or die("A: $id $!");
print TEST param('test'), "\n";
close TEST;
print header, start_html('title'=>'Экзамен создан', 'BGCOLOR'=>'white');
print <Экзамен создан
Экзамен создан.
<р>
<А HREF=".">Перейтиа> на домашнюю страницу 'В помощь учителю'.
<А HREF="test.cgi">nepeimi на главную страницу экзаменов.
<А HREF="test.cgi?actio,n=add">Добавить следующий экзамен.
|