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


Example.13.4


#!/usr/bin/perl -w use strict; require my_end; use CGI qw(:standard); my Soutput = new CGI; use_named_parameters(1); # Использовать модуль DBI. use DBI; # DBI::connect() использует формат 'DBI:driver:database', в нашем случае # используется драйвер MySQL и открывается база данных 'teach', my $dbh = DBI->connect('DBI:mysql:teach'); # Операция добавления распределена между тремя отдельными функциями. Первая функция, add, # выводит пользователю форму шаблона для создания нового экзамена, sub add { $subject = param('subject') if (param('subjects')); $subject = "" if $subject eq 'all'; print header, start_html('title'=>'Create a New Test', 'BGCOLOR'=>'white'); print <<END_OF_HTML; <Н1>Создание нового экзамена</п1> <FORM ACTION="test.cgi" METHOD=POST> <INPUT TYPE=HIDDEN NAME="action" VALUE="add2"> Предмет: END_OF_HTML my @ids = (); my %subjects = (); my $out2 = $dbh->prepare("select id,name from subject order by name" $out2->execute; # DBI: :fetchrow_array() совершенно аналогична Msql: :fetchrow() while(my($id,$subject)=$out2->fetchrow_array) { push(@ids,Sid); $subjects{"$id"} = Ssubject; } print popup_menu('name'=>'subjects', 'values'=>[@ids], 'default'=>$subject, 'labels'=>\%subjects); print <<END_OF_HTML; <br> Число вопросов: <INPUT NAME="num" SIZE=5><br> Название или идентификатор (например, дата) экзамена: <INPUT NAME="name" SIZE=20> <Р> <INPUT TYPE=SUBMIT VALUE=" Следующая страница "> <INPUT TYPE=RESET> </form></body></html> END_OF_HTML }

Листинг 13.4. Закрыть окно




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