Смекни!
smekni.com

Проектирование информационных систем на базе MySQL и Internet (стр. 3 из 3)

print "<center><table border=0>";

print "<tr><td><FORM action=&bsol;"http://myserver/cgi-bin/Addvakan.bat&bsol;">";

print "<center><INPUT type=&bsol;"submit&bsol;" value=&bsol;"Назад&bsol;"></center&bsol;>";

print "</FORM></td>";

print "<td><FORM action=&bsol;"http://myserver/cgi-bin/Konti.bat&bsol;">";

print "<center><INPUT type=&bsol;"submit&bsol;" value=&bsol;"На главную&bsol;"></center&bsol;>";

print "</FORM></td></tr>";

print "</table></center>";

print end_html();

Файл vakdel.cgi– исполняемая программа.

Служебная программа для удаления вакансии из таблицы t1.

Имеет 1 кнопку:

- “Назад" - запускает скрипт Konti.cgi;

и 2 ссылки:

- “Список вакансий" - запускает скрипт BDvakans.cgi;

- “Список анкет" - запускает скрипт BDankets.cgi.

vakdel.cgi

use CGI qw(:standard);

use DBI;

print header();

print start_html("Удаление Вакансии");

print qq{<body bgcolor="#faf1d8">};

print "<center><h1>База данных</h1></center>";

print "<center>";

print qq{<A href="http://myserver/cgi-bin/BDvakans.bat"><font size="5">Список вакансий</A>};

print "&nbsp &nbsp &nbsp &nbsp";

print qq{<A href="http://myserver/cgi-bin/BDankets.bat">Список анкет</font></A>};

print "</center>";

$dbh=DBI->connect("dbi:mysql:konti");

$sth=$dbh->prepare("SELECT * FROM t1;");

$rows=$sth->execute();

for($i=0;$i<$rows;$i++)

{ $i++;

($bakans,$knkrs,$ed,$Cpc,$Crok)=$sth->fetchrow_array;

my $var=param("vdel$i");

$var=~ s/&bsol;D+//;

if ($i==$var)

{

$sql="delete from t1 where prof=&bsol;"$bakans&bsol;";";

$dbh->do($sql);

}

$i--;

}

$sth->finish();

$dbh->disconnect();

print "<br>";

print "<FORM action=&bsol;"http://myserver/cgi-bin/Konti.bat&bsol;">";

print "<center><INPUT type=&bsol;"submit&bsol;" value=&bsol;"На главную&bsol;"></center&bsol;>";

print "</FORM>";

print end_html();

Файл ankdel.cgi– исполняемая программа.

Служебная программа для удаления анкеты из таблицы t2 и уменьшения значения конкурса на вакансию в таблице t1.

Имеет 1 кнопку:

- “На главную" - запускает скрипт Konti.cgi;

и 2 ссылки:

- “Список вакансий" - запускает скрипт BDvakans.cgi;

- “Список анкет" - запускает скрипт BDankets.cgi.

ankdel.cgi

use CGI qw(:standard);

use DBI;

print header();

print start_html("Удаление Анкеты");

print qq{<body bgcolor="#faf1d8">};

print "<center><h1>База данных</h1></center>";

print "<center>";

print qq{<A href="http://myserver/cgi-bin/BDvakans.bat"><font size="5">Список вакансий</A>};

print "&nbsp &nbsp &nbsp &nbsp";

print qq{<A href="http://myserver/cgi-bin/BDankets.bat">Список анкет</font></A>};

print "</center>";

$dbh=DBI->connect("dbi:mysql:konti");

$sth=$dbh->prepare("SELECT * FROM t2;");

$rows=$sth->execute();

for($i=0;$i<$rows;$i++)

{ $i++;

($fio, $eda, $cpca, $croka, $adress, $vak)=$sth->fetchrow_array;

my $var=param("vdel$i");

$var=~ s/&bsol;D+//;

if ($i==$var)

{

$sql="delete from t2 where fio=&bsol;"$fio&bsol;";";

$dbh->do($sql);

my $sth=$dbh->prepare("SELECT * FROM t1;");

my $rows=$sth->execute();

for($i=0;$i<$rows;$i++)

{

($bakans,$knkrs,$ed,$Cpc,$Crok)=$sth->fetchrow_array;

if ($bakans eq $vak)

{

$knkrs=$knkrs-1;

$sql="update t1 set knkrs='$knkrs' where prof='$vak';";

$dbh->do($sql);

}

}

$sth->finish();

}

$i--;

}

$sth->finish();

$dbh->disconnect();

print "<br>";

print "<FORM action=&bsol;"http://myserver/cgi-bin/Konti.bat&bsol;">";

print "<center><INPUT type=&bsol;"submit&bsol;" value=&bsol;"На главную&bsol;"></center&bsol;>";

print "</FORM>";

print end_html();

Схема размещения информации на Internet-узле

На сервере информация располагается следующим образом:

C:&bsol;Apache&bsol;htdocs&bsol;
Kontinental-HH.htmtitul.htm
cgi-bin&bsol;
Addanket.batAddvakan.batAddvakan.cgiankdel.batankdel.cgianketa.batanketa.cgiBDankets.batBDankets.cgiBDvakans.batBDvakans.cgiDob.batDob.cgiitog.batitog.cgiKonti.batKonti.cgikonti.txtlist.batlist.cgistart.batvakdel.batvakdel.cgi

Контрольный пример работы пользователя.

Главная страница (Kontinental-HH.htm):

Выбор вакансии (list.cgi):

Заполнение анкеты (anketa.cgi):

Успешное внесение анкеты в базу данных (itog.cgi):

Контрольный пример работы администратора

Просмотр списка вакансий (BDvakans.cgi).

Просмотр списка вакансий (BDankets.cgi).

Добавление новой вакансии (Addvakan.cgi)

Выводы.

- Разработка информационной системы на базе MySQL и Internet позволяет создать большую базу данных. Данная система удобна в использовании и разработке программно.

- Большое значение имеет то, что существует отделение программы управления базой данных от интерфейса.

- Интерфейс заключается в создании запросов на SQL, передаче их серверу и получении результата. Запросы передаются в виде строк. При получении запроса основную работу выполняет сервер. Клиенту высылаются только данные, полученные в результате получения запроса. Это приводит к снижению нагрузки, что позволяет повысить безопасность при работе с данными. Перед посылкой запроса требуется регистрация на сервере.

- Легко организовать многопользовательскую работу.

Использованная литература.

1. Айсбари С.: Корпоративные решения на базе LINUX.

2. Орлов С. А.: Технологии разработки ПО. Разработка сложных программных систем.

3. Материалы лекций.