MySQL & mSQL

         

оказываются очень удобными при выводе


Несколько функций, предоставляемых модулем CGI.pm, оказываются очень удобными при выводе формы со значениями, установленными по умолчанию, особенно функция CGI: :scrolling_list , выводящая блок HTML <SELECT> с заданными параметрами. Среди прочих, функция принимает параметры values, default и labels, относящиеся к значениям каждого тега <OPTION> , задающие выбираемые по умолчанию пункты и их метки, видимые пользователю.

Эта функция выводит заполненную форму, как если бы это была форма для добавления. Разница в том, что это данные для учащегося, уже имеющегося в базе данных. Функция changes принимает данные и обновляет данные в базе, как показано ниже:

sub changes {

if (param('delete')) { &delete2($id); } else {

my Squery = "update student set "; my @query = ();

foreach ('first', 'middle', 'last', 'ext', 'address', 'city', 'state', 'zip', 'phone') {

if (param($_)) { push(@query,"$_ = ".

$dbh->quote(param($_))); } }

push(@query,"age=".param('age')) if param('age');

push(@query,"sex=".param('sex')) if param('sex');

my $subjects = "':";

$subjects .= join(":",param('subjects'));

$subjects .= ":" unless $subjects eq "':";

$subjects .= "'";

push(@query, "subjects=$subjects");

Squery .= join(", ",@query) . " where id=$id"; $dbh->query($query);

print header, start_html('title'=>'Данные об учащемся изменены',

'BGCOLOR'=>'white'); # Вывести форму с сообщением об успехе

}

}

Обратите внимание, что при выборе кнопки «Delete» на странице изменения функция автоматически передает управление функции удаления. Это одно из главных преимуществ объединения в одной программе нескольких функций. Если вмешательства пользователя не требуется, то можно перескакивать между функциями без посылки пользователю сообщений о перенаправлении.

Оставшаяся часть этой функции довольно проста. Данные об учащемся собираются в запросе UPDATE, который отправляется серверу MySQL. Затем пользователю посылается страница с сообщением об успешном завершении работы.


Содержание  Назад  







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий