Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Удаление информации из базы (удаление страны)





Часть1

#!d:/actiperl/bin/perl.exe

use DBI;

use CGI qw(standart escapeHTML);

my $dbh;

my $sth;

my %type = ();

my $base = 'wineyard';

my $comp = 'localhost';

my $dbport = '3306';

my ($ky, $val);

print "Content-type: text/html\n\n";

print <<EOH;

<HTML>

<HEAD>

<META NAME="Author" CONTENT="">

<style type="text/css">

.norm {padding-left: 20; padding-right: 10; padding-top: 5; }

a {text-decoration: none; }

</style>

<TITLE>Wineyard - Удаление стран</TITLE>

</HEAD>

<BODY BGCOLOR="white" TEXT="#000000" LINK="#0000EE" VLINK="#CC0080" ALINK="#CC66CC">

<h1 align="center"><font color="#0602B0" size="+3">Wineyard</font></h1>

<p class="norm" align="center"><font size="+1"><b>Удаление стран-производителей из базы данных. </b></font></p>

<hr align="center" noshade size="2" width="90%">

EOH

$dbh = DBI->connect("DBI:mysql:database=$base;host=$comp;port=$dbport", '', '');

if (not $dbh) {

print <<ERRDB;

<p class="norm">Не удалось открыть связь с базой <b>$base</b> по порту $dbport.<br>

Причина ошибки – <b>$DBI::errstr</b></p>

<hr align="center" noshade size="2" width="90%">

<p class="norm" align="left"><font size="+1"><a href="/wineyard/index.html">Вернуться

к главной странице</a></font></p>

</body></html>

ERRDB

exit;

};

$sth = $dbh->prepare('select ctry, id from country where id > 0');

$sth->execute;

while(($ky, $val)=$sth->fetchrow_array) {

$type{$ky} = $val;

};

$sth->finish;

$dbh->disconnect;

print <<SOF;

<p class="norm" align="center"><font color=navy size="+1">Выберите страну-производитель для удаления:</font></p><br><br>

<table cellpadding="5" align="center" border="0">

<form name="delt" action="delb.pl" method="post">

<div align="center">

<select name="ctry">

SOF

foreach $ky (sort keys %type) {

$val = $type{$ky};

print "<option value=$val>$ky\n";

};

print <<EOFR;

</select>

<input type="submit" value="Удалить страну-производитель"></div><br><br>

</form>

</table>

<hr align="center" noshade size="2" width="90%">

<p class="norm" align="left"><font size="+1">

<a href="/wineyard/index.html">Вернуться

к главной странице</a></font>

</p>

</BODY>

</HTML>

EOFR

exit;

Часть 2

#!d:/actiperl/bin/perl.exe

# add new country to database - 2-nd stage -- updating countries data

 

use DBI;

use CGI qw(:standard);

 

# declarations

my $dbh; #database handler

my $sth; #database statement handler

my $base = 'wineyard'; #database name

my $comp = 'localhost'; #IP-address of host computer

my $dbport = '3306'; #standard MySQL port

my ($asd);

my %tmphash = ();

my @ctry = ();

 

print "Content-type: text/html\n\n";

 

$ctry = param('ctry');

 

print <<EOH;

<HTML>

<HEAD>

<META NAME="Author" CONTENT="">

<style type="text/css">

.norm {padding-left: 20; padding-right: 10; padding-top: 10; }

a {text-decoration: none; }

</style>

<TITLE>Wineyard Delete Countries</TITLE>

</HEAD>

<BODY BGCOLOR="white" TEXT="#000000" LINK="#0000EE" VLINK="#CC0080" ALINK="#CC66CC">

<h1 align="center"><font color="#0602B0" size="+4">Wineyard</font></h1>

<p class="norm" align="center"><font size="+1">Интерфейс к базе данных по винам

на основе <b>MySQL</b></font></p>


<hr align="center" noshade size="2" width="90%">

<h3><p class="norm" align="center"><strong><u><font face="verdana" color="#cc0033" size="6">ВНИМАНИЕ!!!</font></strong></u></p></h3>

 

<p align="center"><font face="verdana,arial" color=" #8d3907">

* За удаляемой страной могут быть закреплены напитки.<br>

Которые удаляться вместе со страной.<br>

Если не хотите потерять данные, убедитесь в их отсутствии.

</font></p><br>

 

<form name="del" action="/cgi-bin/delbd1.pl" method="post">

 

EOH

 

# Проверка на ошибки связи с базой

$dbh = DBI->connect("DBI:mysql:database=$base;host=$comp;port=$dbport", '', '');

if (not $dbh) {

print <<ERRDB;

<p class="norm">Не удалось открыть связь с базой <b>$base</b> по порту $dbport.<br>

Причина ошибки – <b>$DBI::errstr</b></p>

<hr align="center" noshade size="2" width="90%">

<p class="norm" align="left"><font size="+1"><a href="/wineyard/index.html">Вернуться

к главной странице</a></font></p>

</body></html>

ERRDB

exit;

};

 

 

############################# Запрос стран у базы

$sth = $dbh->prepare('select ctry from country where id='.$ctry.';');

$sth->execute;

while(($ky)=$sth->fetchrow_array) {

$countries = $ky;

};

$sth->finish;

$dbh->disconnect;

 

########## Вывод ДАННЫХ

print <<NM;

<p align="center"><b>Удаляется страна</b> - <font color="#0602B0" face="verdana,arial" size="+2">$countries</font></p>

<p class="norm" align="center"><b>

<input name="ctry" type="hidden" value="$ctry">

<input name="ctry" type="hidden" value="$countries">

NM

 

#######

print <<EODT;

<br><br>

<table align="center">

 

<tr>

<td> <input type="submit" value="Удалить страну">

</form></td>

<td> <form name="asd" action="del.pl" method="get" >

<input type="submit" value="Отмена">

</form></td>

</tr>

</table>

 

</b></p>

<hr align="center" noshade size="2" width="90%">

<p class="norm" align="left"><font size="+1"><a href="/cgi-bin/del.pl">Удаление стран </a></font></p>

<p class="norm" align="left"><font size="+1"><a href="/wineyard/index.html">Вернуться

к главной странице</a></font></p>


<hr align="center" noshade size="2" width="90%">

</BODY>

</HTML>

EODT

exit;

Часть 3

#!d:/actiperl/bin/perl.exe

# add new country to database - 2-nd stage -- updating countries data

 

use DBI;

use CGI qw(:standard);

 

# declarations

my $dbh; #database handler

my $sth; #database statement handler

my $base = 'wineyard'; #database name

my $comp = 'localhost'; #IP-address of host computer

my $dbport = '3306'; #standard MySQL port

my ($ky, $val);

my %tmphash = ();

my %skl = ();

my %type = ();

my %name = ();

my %qty = ();

 

 

print "Content-type: text/html\n\n";

 

$ncnt = param('ncnt');

$ncn = param('ncn');

 

print <<EOH;

<HTML>

<HEAD>

<META NAME="Author" CONTENT="">

<style type="text/css">

.norm {padding-left: 20; padding-right: 10; padding-top: 10; }

a {text-decoration: none; }

</style>

<TITLE>Wineyard Delete Countries</TITLE>

</HEAD>

<BODY BGCOLOR="white" TEXT="#000000" LINK="#0000EE" VLINK="#CC0080" ALINK="#CC66CC">

<h1 align="center"><font color="#0602B0" size="+4">Wineyard</font></h1>

<p class="norm" align="center"><font size="+1">Интерфейс к базе данных по винам

на основе <b>MySQL</b></font></p>

<hr align="center" noshade size="2" width="90%">

<h3><p class="norm" align="center"><b>Удаленa странa:</b></p></h3>

EOH

############# ошибки при загрузке сценария

$dbh = DBI->connect("DBI:mysql:database=$base;host=$comp;port=$dbport", '', '');

if (not $dbh) {

print <<ERRDB;

<p class="norm">Не удалось открыть связь с базой <b>$base</b> по порту $dbport.<br>

Причина ошибки – <b>$DBI::errstr</b></p>

<hr align="center" noshade size="2" width="90%">

<p class="norm" align="left"><font size="+1"><a href="/wineyard/index.html">Вернуться

к главной странице</a></font></p>

</body></html>

ERRDB

exit;

};

 

# Передача переменных

$sth = $dbh->prepare('SELECT wine.id, wine.name, wine.store, wine.quant FROM wine,

country WHERE wine.c_id = country.id AND

country.id='.$ncnt.' ORDER BY wine.name;');

$sth->execute;

while(($ky, $val, $skl, $qty)=$sth->fetchrow_array) {

$name{$ky} = $val;

$skl{$ky} = $skl;


$qty{$ky} = $qty;

};

foreach $ky (sort keys %name) {

$val = $name{$ky};

$name = $val;

$sth = $dbh->prepare('DELETE FROM wine WHERE name='.$name.';');

$sth->execute;

$sth->finish;

};

foreach $ky (sort keys %skl) {

$val = $skl{$ky};

$skl = $val;

$sth = $dbh->prepare('DELETE FROM wine WHERE store='.$skl.';');

$sth->execute;

$sth->finish;

};

foreach $ky (sort keys %qty) {

$val = $qty{$ky};

$qty = $val;

$sth = $dbh->prepare('DELETE FROM wine WHERE quant='.$qty.';');

$sth->execute;

$sth->finish;

};

$sth = $dbh->prepare('DELETE FROM country WHERE id='.$ncnt.';');

$sth->execute;

$sth->finish;

$dbh->disconnect;

 

########## Вывод ДАННЫХ

 

print <<NM;

 

<p class="norm" align="center">Страна <b>$ncn </b> - удалена</p>

 

NM

#######

print <<EODT;

<hr align="center" noshade size="2" width="90%">

<p class="norm" align="left"><font size="+1"><a href="/cgi-bin/del.pl">Удаление стран </a></font></p>

<p class="norm" align="left"><font size="+1"><a href="/wineyard/index.html">Вернуться

к главной странице</a></font></p>

<hr align="center" noshade size="2" width="90%">

</BODY>

</HTML>

EODT

exit;








Date: 2016-07-25; view: 396; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.045 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию