Введение в СУБД MySQL


Пример приложения, использующего DBI - часть 2


sub add2 { my Ssubject = param('subjects'); [ my $num = param('num'); $name = param('name') if param('name'); my $out = $dbl"prepare("select name from subject where id=$subject"); $out->execute; my (Ssubname) = $out->fetchrow_a.rray; print header, start_html('title'=>"Создание экзамена по предмету $subname", ' BGCOLOR'=>'white'); print <<END_OF_HTML; <H1> Создание экзамена по предмету $subname</h1> <h2>$name</h2> <P> <FORM ACTION="test.cgi" METHOD=POST> <INPUT TYPE=HIDDEN NAME="action" VALUE="add3"> <INPUT TYPE=HIDDEN NAME="subjects" VALUE="$subject"> <INPUT TYPE=HIDOEN NAME="num" VALUE="$num"> <INPUT TYPE=HIDDEN NAME="name" VALUE="$name"> Введите количество баллов за каждый правильный ответ. Сумма баллов не обязательно должна равняться 100. <Р> END_OF_HTML for (1..$num) { print qq%$_: <INPUT NAME="q$_" SIZE=3> %; if (not.$_ % 5) { print "<br>\n"; } } print <<END_OF_HTML; <P> Введите текст экзамена:<br> <TEXTAREA NAME="test" ROWS=20 COLS=60> </textarea> <p> <INPUT TYPE=SUBMIT VALUE="Ввести экзамен "> <INPUT TYPE=RESET> </form></body></html> END_OF_HTML }

Эта функция динамически генерирует форму для экзамена, основываясь на параметрах, введенных в предыдущей форме. Пользователь может ввести количество баллов для каждого вопроса экзамена и полный текст самого экзамена. Выходные данные этой функции посылаются завершающей функции add3, как показано ниже:

Листинг 13.5.

(html, txt)

Теперь осталось ввести информацию об экзамене в базу данных. Позднее, после сдачи экзамена учащимися, для каждого учащегося будет создана запись в таблице экзамена. Но эти действия ложатся на плечи читателя, поскольку целью данного материала было лишь введение в мир Perl и MySql.




Начало  Назад  Вперед