4335

MySQL и Internet. Проектирование приложения

Реферат

Информатика, кибернетика и программирование

MySQL и Internet. Проектирование приложения Разработать информационную систему для реализации конкурсного отбора кадров на базе программного обеспечения MySQL и Internet. Анализ задания Разрабатываемая система позволяет предприятию через Internet об...

Русский

2012-11-16

318 KB

14 чел.

MySQL и Internet. Проектирование приложения

Разработать информационную систему для реализации конкурсного отбора кадров на базе программного обеспечения MySQL и Internet.

Анализ задания

Разрабатываемая система позволяет предприятию через Internet объявить конкурс на имеющиеся у нее вакантные должности, собирать и хранить сведения об участниках конкурса в виде заполняемых ими анкет.

Администратор имеет возможность вносить в базу данных новые вакансии, удалять занятые, а также редактировать список присланных анкет, отбирая наиболее перспективные для деятельности предприятия.

Проектирование базы данных

Реализация базы данных с помощью MySQL.

После запуска MySQL в командной строке создаем базу данных Konti:

C:mysql_inmysqladmin create Konti

После этого в созданной базе создаем таблицы t1 и t2:

Создание таблицы t1:

use Konti

create table t1(prof varchar(30) not null primary key, knkrs int not null, ed varchar(30) not null, cpc varchar (30) not null, crok int not null);

Поле “prof” - является ключевым и содержит наименование вакансии.

Поле “knkrs” - содержит количество анкет, заявленных на данную вакансию.

Поле “ed” - содержит сведения о необходимом образовании претендента на данную вакансию.

Поле “cpc” - содержит сведения о необходимой специализации претендента на данную вакансию.

Поле “crok” - содержит сведения о необходимом опыте работы претендента по своей специализации.

Создание таблицы t2:

create table t2(fio varchar(30) not null primary key, eda varchar(30) not null, cpca varchar(30) not null, croka int not null, adress varchar(60) not null, vak varchar(30) not null);

поле “fio” (ключевое поле) – фамилия имя и отчество претендента;

поле “eda” – образование претендента;

поле “cpca” – специальность претендента;

поле “croka” – срок работы претендента по специальности;

поле “adress” – адрес претендента;

поле “vak” – выбранная вакансия претендента;

Разработка CGI-программ и HTML-документов

Файл Kontinental-HH.htm - главная страница.

Содержит две кнопки:

- "Просмотр вакансий" – запускает скрипт list.cgi и предназначена для пользователя информационной системы - предоставляет ему возможность ознакомиться со списком вакансий на предприятии, узнать текущий конкурс на нее и заполнить анкету;

- "База данных” (пароль) – запускает скрипт BDvakans.cgi и предназначена для администратора - предоставляет ему возможность вносить в базу данных новые вакансии, удалять занятые, а также редактировать список присланных анкет, отбирая наиболее перспективные для деятельности предприятия.

Kontinental-HH.htm

<html>

<head><title>Континенталь-НН</title></head>

<body bgcolor="#faf1d8">

<center><h1><font color="#800000">ОАО "Континенталь-НН" &reg</font></h1></center>

<p ALIGN="center"><font size="5"><strong><font color="#800000">Отдел кадров</font></strong></font></p>

<p ALIGN="center"><font size="2"><strong>ПРОФЕССИОНАЛЬНЫЙ ПОДХОД К ЧЕЛОВЕЧЕСКИМ РЕСУРСАМ</font></strong></p>

<table border="0">

<tr><td><blockquote class="text">

Сегодняшний день и перспективные задачи, стоящие перед организацией, требуют от её сотрудников новых и современных решений. Администрация предприятия проводит целенаправленную работу по привлечению в наши ряды высокопрофессиональных специалистов по всем направлениям деятельности.<br>

Если Вы, ознакомившись со списком вакансий, увидели для себя возможности к самореализации, наша кадровая служба с интересом ознакомится с Вашим резюме.<br>

В любом случае, заполнив анкету, Вы сможете попасть в банк данных нашего отдела кадров и рассчитывать на встречное предложение с нашей стороны.

</blockquote>

</td></tr>

</table>

<form action="http://myserver/cgi-bin/list.bat">

<center><input type="submit" value="Просмотр вакансий"></center>

</form>

<br>

<form action="http://myserver/cgi-bin/BDvakans.bat" method="post">

<center><input type="submit" value="База данных">

<input type="password" name="111" ></center>

<center>Введите пароль для доступа <br><font size="2">(Временно пароль не используется)</font></center>

</form>

</body>

</html>

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

Выводит список вакансий и конкурс на них на основе данных таблицы t1. Имеет 1 кнопку:

- “Заполнить анкету" – запускает скрипт anketa.cgi и передает в него данные о выбранной вакансии.

list.cgi

use CGI qw(:standard);

use DBI;

print header();

print start_html("Список Вакансий для пользователя");

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

print "<center><h1>Перечень вакансий</h1></center>";

print "<center>Выберите вакансию и заполните анкету</center>";

print "<br>";

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

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

$rows=$sth->execute();

print "<form action="http://myserver/cgi-bin/anketa.bat">";

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

print qq{<tr ALIGN="center"><th>&nbsp№&nbsp</th>

<th>Вакансия</th><th>&nbspКонкурс&nbsp<br>на место</th>

<th>Ваш<br>выбор</th></font></tr>};

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

{

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

$i++;

print "<tr>

<td ALIGN="center">$i</td>";

$i--;

print"<td>$bakans</td>

<td><center>$knkrs</center></td>

<TD><center><INPUT type="radio" name="vibor" value="vib$i"></center></TD>

</tr>";

}

$sth->finish();

$dbh->disconnect();

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

print "<br>";

print "<center><INPUT type="submit" value="Заполнить анкету"></center>";

print "<br>";

print "<center>Анкеты претендентов будут рассмотрены 25 января 2003г.</center>";

print "</FORM>";

print end_html();

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

Выводит перечень основных требований к кандидату на вакансию на основе данных таблицы t1 и предлагает претенденту заполнить анкетные данные о себе.

Имеет 2 кнопки:

- “Отправить" – запускает скрипт itog.cgi и передает в него анкетные данные претендента;

- "Очистить форму" – стирает из формы ошибочно введенные анкетные данные.

anketa.cgi

use CGI qw(:standard);

use DBI;

print header();

print start_html("Анкета");

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

my $pas=param("vibor");

$var=$pas;

$var=~ s/D+//;

if ($pas eq "") {print qq{<p ALIGN="center"><font size="5"><strong><font color="#800000">

<br>&nbspВы забыли выбрать вакансию!</font></strong></font></p>};

print "<br>";

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

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

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

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

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

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

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

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

goto quit;

}

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

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

$rows=$sth->execute();

print "<center><h1>Заполните анкетные данные</h1></center>";

print qq{<p ALIGN="center"><font size="5">};

print "<center><u>Основные требования к кандидату</u></center>";

for($i=0;$i<$var+1;$i++)

{

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

if ($i==$var)

{

print "<center><table>";

print "<TR><TD>Образование</TD><TD>- $ed</TD></TR>";

print "<TR><TD>Специальность</TD><TD>- $Cpc</TD></TR>";

print "<TR><TD>Срок работы по специальности, лет&nbsp</TD><TD>- $Crok</TD></TR>";

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

}

}

print "</font></p>";

$sth->finish();

$dbh->disconnect();

print "<form action="http://myserver/cgi-bin/itog.bat">";

print "<center><table>";

print "<TR><TD>Фамилия имя отчество</TD><TD><input name="fio"></TD></TR>";

print "<TR><TD>Образование</TD>

<TD><SELECT name="ed">

<OPTION value="высшее0" selected>высшее

<OPTION value="нез/высшее1">нез/высшее

<OPTION value="ср. техническое2">ср. техническое

<OPTION value="ср. специальное3">ср. специальное

<OPTION value="среднее4">среднее

</SELECT>

</TD></TR>";

print "<TR><TD>Специальность</TD><TD><input name="cpc"></TD></TR>";

print "<TR><TD>Стаж работы по специальности, лет&nbsp</TD><TD><input name="crok"></TD></TR>";

print "<TR><TD>Адрес</TD><TD><input name="adress"></TD></TR>";

print "<TR><TD><BR></TD></TR>";

print qq{<INPUT type="hidden" name="vib" value=$pas>};

print "<TR><TD><input type="submit" value="Отправить"></TD>

<TD><INPUT type="reset" value="Очистить форму"></TD></TR>";

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

print "</form>";

quit:

print end_html();

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

Проверяет введенные анкетные данные на соответствие основным требованиям к претенденту, при выполнении которых заносит их в таблицу t2 и увеличивает значение конкурса на выбранную вакансию в таблице t1, в противном случае выводит мотивированное сообщение об отказе в принятии анкеты.

Имеет 2 кнопки:

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

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

itog.cgi

use CGI qw(:standard);

use DBI;

print header();

print start_html("Добавление Анкеты");

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

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

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

$rows=$sth->execute();

$fio=param('fio');

$eda=param('ed');

$eda0=$eda;

$eda=~ s/d+//;

$eda0=~ s/D+//;

$cpca=param('cpc');

$cpca=~ tr/А-Я/а-я/;

$croka=param('crok');

$adress=param('adress');

$var=param('vib');

$var=~ s/D+//;

print "<br>";

print qq{<p ALIGN="center"><font size="4"><strong><font color="#800000">};

for($i=0;$i<$var+1;$i++)

{

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

if ($i==$var)

{

if ($ed="высшее") {$ed0=0;} elsif ($ed="нез/высшее") {$ed0=1;} elsif ($ed="ср. техническое") {$ed0=2;} elsif ($ed="ср. специальное") {$ed0=3;} else {$ed0=4;}

if ($eda0 > $ed0) {$fe=1;} else {$fe=0;}

if ($cpca ne $Cpc) {$fcp=1;} else {$fcp=0;}

if ($croka < $Crok) {$fcr=1;} else {$fcr=0;}

if ($fe==1 or $fcp==1 or $fcr==1) {print qq{Извините, $fio, но Ваша анкета не принята к рассмотрению из-за несоответствия указанных в ней данных требованиям к кандидату};}

else {

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

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

$flag=0;

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

{

($fio2,$eda2,$cpca2,$croka2,$adress2,$vak2)=$sth->fetchrow_array;

if ($fio2 eq $fio)

{

$flag=1;

$knkrs=$knkrs-1;

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

$dbh->do($sql);

}

}

$knkrs=$knkrs+1;

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

$dbh->do($sql);

$sth->finish();

if ($flag==0) {

print qq{Уважаемый, $fio, Ваша анкета принята для участия в конкурсе.<br><br>Желаем успеха!};

$sql="INSERT INTO t2(fio,eda,cpca,croka,adress,vak)values('$fio','$eda','$cpca','$croka','$adress','$bakans')";

$dbh->do($sql);

}

else {

print qq{Уважаемый, $fio, в базе данных уже имеется анкета на Ваше имя, фамилию, отчество. Если Вы хотите заполнить новую анкету - измените свои ФИО дополнив, например, цифровым символом ($fio-2).<br><br>};

}

}

}

}

print qq{</font></strong></font></p>};

$sth->finish();

$dbh->disconnect();

print "<br>";

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

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

print qq{<INPUT type="hidden" name="vibor" value="vibor$var">};

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

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

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

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

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

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

print end_html();

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

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

Имеет 3 кнопки:

- “Добавить" - запускает скрипт Addvakan.cgi;

- “Удалить" - запускает скрипт vakdel.cgi;

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

и 2 ссылки:

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

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

BDvakans.cgi

use CGI qw(:standard);

use DBI;

print header();

print start_html("Список Вакансий");

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

my $pass=param("111");

if (111)

{

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>";

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

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

print qq{<tr><td><p ALIGN="center"><font size="5"><strong><font color="#800000">Список вакансий &nbsp&nbsp&nbsp</font></strong></font></td>};

print "<td><center><INPUT type="submit" value="Добавить"></center></td></tr></p>";

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

print "</FORM>";

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

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

$rows=$sth->execute();

print "<form action="http://myserver/cgi-bin/vakdel.bat">";

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

print qq{<tr ALIGN="center"><th>&nbsp№&nbsp</th>

                <th>Вакансия</th>

                <th>Пометить<br>на удаление</th></font></tr>};

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

{

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

 $i++;

 print"<tr>

 <td ALIGN="center">$i</td>

 <td>$bakans</td>

 <TD><center><INPUT type="checkbox" name="vdel$i" value="vdel$i"></center></TD>

 </tr>";

 $i--;

}

$sth->finish();

$dbh->disconnect();

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

print "<br>";

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

print "<tr><td><center><INPUT type="submit" value="Удалить"></center></td>";

print "</FORM>";

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

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

print "</FORM>";

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

}

else

{

print h1("Неправильный пароль!!!");

}

print end_html();

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

Выводит список анкет на основе данных таблицы t2 и предлагает администратору удалить наименее перспективные.

Имеет 2 кнопки:

-         “Удалить" - запускает скрипт ankdel.cgi;

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

и 2 ссылки:

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

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

BDankets.cgi

use CGI qw(:standard);

use DBI;

print header();

print start_html("Список Анкет");

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

my $pass=param("111");

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>";

print qq{<p ALIGN="center"><font size="5"><strong><font color="#800000">Список анкет &nbsp&nbsp&nbsp</font></strong></font>};

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

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

$rows=$sth->execute();

print "<form action="http://myserver/cgi-bin/ankdel.bat">";

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

print qq{<tr ALIGN="center"><th>&nbsp№&nbsp</th>

               <th>Фамилия Имя Отчество</th>

               <th>Образование</th>

               <th>Специальность</th>

               <th>Срок работы по спец-ти</th>

               <th>Адрес</th>

               <th>Вакансия</th>

               <th>Пометить<br>на удаление</th></font></tr>};

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

{

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

 $i++;

 print"<tr>

 <td><center>$i</center></td>

 <td><center>$fio</center></td>  

 <td><center>$eda</center></td>  

 <td><center>$cpca</center></td>

 <td><center>$croka</center></td>    

 <td><center>$adress</center></td>   

<td><center>$vak</center></td>  

 <TD><center><INPUT type="checkbox" name="vdel$i" value="vdel$i"></center></TD>

 </tr>";

 $i--;

}

$sth->finish();

$dbh->disconnect();

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

print "<br>";

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

print "<tr><td><center><INPUT type="submit" value="Удалить"></center></td>";

print "</FORM>";

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

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

print "</FORM>";

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

print end_html();

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

Предлагает администратору форму для внесения данных для новой вакансии

Имеет 2 кнопки:

-         “Отправить данные" - запускает скрипт Dob.cgi и передает в него данные новой вакансии;

-         “Очистить форму" - стирает из формы ошибочно введенные данные.

Addvakan.cgi

use CGI qw(:standard);

use DBI;

print header();

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

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

print "<center><h1>Заполните данные для новой вакансии</h1></center>";

print "<form action="http://myserver/cgi-bin/Dob.bat">";

print "<center><table>";

print "<TR><TD>Должность</TD><TD><input name="profv"></TD></TR>";

print "<TR><TD>Образование</TD>

    <TD><SELECT name="edv">

         <OPTION value="высшее" selected>высшее

    <OPTION value="нез/высшее">нез/высшее

          <OPTION value="ср. техническое">ср. техническое

          <OPTION value="ср. специальное">ср. специальное

          <OPTION value="среднее">среднее

          </SELECT>

    </TD></TR>";

print "<TR><TD>Специальность</TD><TD><input name="cpcv"></TD></TR>";

print "<TR><TD>Стаж работы по специальности, лет&nbsp</TD><TD><input name="crokv"></TD></TR>";

print "<TR><TD><BR></TD></TR>";

print "<TR><TD><input type="submit" value="Отправить данные"></TD>

    <TD><INPUT type="reset" value="Очистить форму"></TD></TR>";

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

print "<br>";

print "</form>";

print end_html();

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

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

Имеет 2 кнопки:

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

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

и 2 ссылки:

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

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

Dob.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;");

my $profv=param("profv");

my $edv=param("edv");

my $cpcv=param("cpcv");

my $crokv=param("crokv");

   $crokv=~ s/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><font size="4">Вы не ввели данные. Повторите ввод.</font></center><br>};}

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

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

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

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

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

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

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/D+//;

  if ($i==$var)

    {

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

    $dbh->do($sql);

    }

  $i--;

}

$sth->finish();

$dbh->disconnect();

print "<br>";

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

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

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/D+//;

  if ($i==$var)

    {

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

        $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="http://myserver/cgi-bin/Konti.bat">";

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

print "</FORM>";

print end_html();

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

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

C:Apache

          htdocs

Kontinental-HH.htm

titul.htm

         cgi-bin

 

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)

Выводы.

  1.  Разработка информационной системы на базе MySQL и Internet позволяет создать большую базу данных. Данная система удобна в использовании и разработке программно.
  2.  Большое значение имеет то, что существует отделение программы управления базой данных от интерфейса.
  3.  Интерфейс заключается в создании запросов на SQL, передаче их серверу и получении результата. Запросы передаются в виде строк. При получении запроса основную работу выполняет сервер. Клиенту высылаются только данные, полученные в результате получения запроса. Это приводит к снижению нагрузки, что позволяет повысить безопасность при работе с данными. Перед посылкой запроса требуется регистрация на сервере.
  4.  Легко организовать многопользовательскую работу.

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

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

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


 

А также другие работы, которые могут Вас заинтересовать

27072. Учет прочих доходов и расходов. Назначение счета «Прочие доходы и расходы» и его структура. Организация аналитического учета для формирования отчета «О прибылях и убытках» 23.5 KB
  Назначение счета Прочие доходы и расходы и его структура. Доходы и расходы организации формирующие финансовый результат ее деятельности В соответствии с Положением по бухгалтерскому учету Доходы организации ПБУ 9 99 введено в действие с 1 января 2000 г. Прочие поступления зачисляются на счет 91 Прочие доходы и расходы Прочими доходами признаются в учете: штрафы пени неустойки за нарушения условий договоров возмещения причиненных организации убытков в отчетном периоде в котором судом вынесено решение об их взыскании или они...
27073. Архитектура SCM-систем 174.21 KB
  Объяснить что такое ERP Что такое архитектура Как архитектура относится к классу данной системы ИСТОРИЯ В начале 60х в США начались работы по автоматизации управления запасами. В результате активного роста крупносерийного и массового производства товаров народного потребления и торговли после Второй мировой войны стало очевидно что использование математических моделей планирования спроса и управления запасами ведет к существенной экономии средств замороженных в виде запасов и незавершенного производства. Управление складами в современных...
27074. Информация в бизнесе. Инф поддержка в бизнесе. Класс-ция корпоративных информационных систем 711.94 KB
  Что такое бизнес Бизнес это экономическая деятельность направленная на систематическое получение прибыли от производства и или продажи товаров оказания услуг. Тк бизнесэто коммерческиориентировнная деятельность в конкурентной среде. Деятельность предприятия происходит в реальном физическом мире в котором протекают преимущественно энергетические процессы. Деятельность связанная с управлением предприятием анализ ситуаций выбор вариантов и иная интеллектуальная деятельность продуктом которой являются оценки и принятие решений...
27075. Системы электронного документооборота 139.67 KB
  Системы электронного документооборота 1. Что такое документооборот Документооборо́т это частный способ информационной системы обеспечивающее взаимодействие. Системы электронного документооборота обладают рядом преимуществ к числу которых можно отнести возможность однократной регистрации электронного документа параллельное выполнение необходимых операций с отслеживанием ответственного за их исполнение а также наличие эффективно организованной системы поиска документа и развитой системы отчетности. Электронный документооборот является...
27076. Стр-ра КИС. Основные функциональные задачи 921.26 KB
  Главной задачей такой системы является информационная поддержка производственных административных и управленческих процессов бизнеспроцессов формирующих продукцию или услуги предприятия то есть необходимо рассмотрение всех бизнеспроцессов и как следствие поддержка основных бизнеспроцессов. Технологическая стрра инф системы. 3уровневая архитектура: 1 подсистемы сбора хр накопления данных В каком виде может существовать Распределенные системы данных; БДболее жестко поддерживают структуру; КорпХДболее абстрагированная...
27077. Управленческие автоматизированные ИС. Концепция интегрированной управленческой АИС 249.57 KB
  Интегрированная АСУ обеспечивает согласованное и координированное решение задач с учетом временной и уровневой иерархии за счет разделения общей задачи управления по фазам планирования регулирования учета анализа а также временной иерархии задач внутри каждой фазы. В ИАСУ обеспечиваются координация процессов исследования хода производства оперативного и перспективного планирования и адаптация системы за счет изменения состава и взаимосвязей между задачами а также характера взаимодействия между ее компонентами. История развития ERP 6070...
27078. Архитектура CRM-систем 145.48 KB
  Объяснить что такое CRM Что такое архитектура Как архитектура относится к классу данной системы CRM Customer Relationship Management система управления взаимоотношениями с клиентами. CRM системы стали нужны на высоко конкурентном рынке где в фокусе стоит клиент. Главная задача CRM систем повышение эффективности бизнес процессов сосредоточенных во фронтофисе направленных на привлечение и удержание клиентов в маркетинге продажах сервисе и обслуживании независимо от канала через который происходит контакт с клиентом.
27079. Архитектура ERPII-систем 142.37 KB
  Объяснить что такое ERPII Что такое архитектура Как архитектура относится к классу данной системы ERPII Enterprise Resource and Relationship Processing Управление внутренними ресурсами и внешними связями предприятия. Появление концепции ERP II связано с началом широкого применения Интернеттехнологий в практике корпоративного управления. По мере развития соответствующего программного обеспечения и его интеграции с ERPпродуктами корпоративные системы управления стали выходить за традиционные рамки автоматизации операций внутри...
27080. Архитектура ERP-систем 134.57 KB
  Архитектура ERPсистем. Объяснить что такое ERP Что такое архитектура Как архитектура относится к классу данной системы 1. ERP Enterprise Resource Planning Управление ресурсами предприятия это методология эффективного планирования и управления всеми ресурсами предприятия которые необходимы для осуществления продаж производства закупок и учета при исполнении заказов клиентов в сферах производства дистрибьюции и оказания услуг. ERPсистема это система реализующая эту концепцию.