Смекни!
smekni.com

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

и 2 ссылки:

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

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

Dob.cgi

use CGI qw(:standard);

 use DBI;

 print header();

 print start_html("Добавление Вакансии");

 print qq{<bodybgcolor="#faf1d8">};

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

 print "<center>";

 print qq{<Ahref="http://myserver/cgi-bin/BDvakans.bat"><fontsize="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;");

 my $profv=param("profv");

 my $edv=param("edv");

 my $cpcv=param("cpcv");

 my $crokv=param("crokv");

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

 if ($profv ne "")

{

$sql=qq{insert into t1(prof, knkrs, ed, cpc, crok) values('$profv',0,'$edv','$cpcv','$crokv');};

$dbh->do($sql);

print "<br>";

 $sth->finish();

 $dbh->disconnect();

}

else {print qq{<br><center><fontsize="4">Вы не ввели данные. Повторитеввод.</font></center><br>};}

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

 print "<tr><td><FORMaction=&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><FORMaction=&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{<Ahref="http://myserver/cgi-bin/BDvakans.bat"><fontsize="5">Список вакансий</A>};

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

 print qq{<Ahref="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 whereprof=&bsol;"$bakans&bsol;";";

     $dbh->do($sql);

     }

   $i--;

 }

 $sth->finish();

 $dbh->disconnect();

 print "<br>";

 print "<FORMaction=&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{<Ahref="http://myserver/cgi-bin/BDvakans.bat"><fontsize="5">Список вакансий</A>};

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

 print qq{<Ahref="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 wherefio=&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' whereprof='$vak';";

      $dbh->do($sql);

      }

    }

   $sth->finish();

     }

   $i--;

 }

 $sth->finish();

 $dbh->disconnect();

 print "<br>";

 print "<FORMaction=&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.htm titul.htm
cgi-bin&bsol;
Addanket.bat Addvakan.bat Addvakan.cgi ankdel.bat ankdel.cgi anketa.bat anketa.cgi BDankets.bat BDankets.cgi BDvakans.bat BDvakans.cgi Dob.bat Dob.cgi itog.bat itog.cgi Konti.bat Konti.cgi konti.txt list.bat list.cgi start.bat vakdel.bat vakdel.cgi

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

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

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

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

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


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

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

 


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

 


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

 


Выводы.

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

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

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

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

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

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

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

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