МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
ІКТА
кафедра „ЗАХИСТ ІНФОРМАЦІЇ”
ЗВІТ
до лабораторної роботи № 3
РОБОТА З БАЗАМИ ДАНИХ НА МОВІ SQL
ЗА ДОПОМОГОЮ МОВИ PHP
з курсу
"БАЗИ ДАНИХ"
варіант № 10
Львів - 2013
МЕТА РОБОТИ
Набути практичних навиків в створені запитів на мові SQL для створення, внесення та вибірки даних із таблиць, створення баз даних та таблиць.
ЗАВДАННЯ
СКРІПТИ ДЛЯ РОБОТИ З БАЗОЮ ДАНИХ
Головне меню (index.html):
<html>
<head>
<title>Menu</title>
</head>
<body>
<b>
<h4>База даних працівників АЗК</h4>
<A HREF=form1.html>1.Додати нового працівника</A><BR><BR>
<A HREF=form2.html>2.Знайти працівника по П.І.Б.</A><BR><BR>
<A HREF=form3.html>3.Видалити запис</A><BR><BR>
<A HREF=form4.html>4.Відредагувати запис</A><BR><BR>
<h4>База даних всіх ферм</h4>
<A HREF=form5.html>1.Додати нову АЗК</A><BR><BR>
<A HREF=form6.html>2.Знайти АЗК по номеру</A><BR><BR>
<A HREF=form7.html>3.Видалити запис з таблиці ферм</A><BR><BR>
<A HREF=form8.html>4.Відредагувати запис в таблиці ферм</A><BR><BR>
</b>
<h5><p>Число відвідувань:
<?php
$filename = "counter.dat"; $fp = fopen($filename,"r");
if ($fp)
{
$counter=fgets($fp,10); fclose($fp);
} else $counter=0;
$counter++;
print $counter;
$fp = fopen($filename,"w");
if ($fp)
{
$ii=fputs($fp,$counter); fclose($fp);
}
?>
</h5>
</body>
</html>
Сторінка додавання нового працівника (form1.html):
<html>
<head>
<title>form1</title>
<body>
<form method=post action="form1.php">
<br><b>П.І.Б. нового працівника:</b>
<br><input name="pib" value="" size=30>
<br><b>Адреса:</b>
<br><input name="addres" value="" size=30>
<br><b>Телефон:</b>
<br><input name="phone" value="" size=30>
<br><b>Спеціальність:</b>
<br><input name="spec" value="" size=30>
<br><b>Зарплата:</b>
<br><input name="oklad" value="" size=15>
<br><b>Номер АЗК:</b>
<br><input name="ferma" value="" size=15>
<br><br><input type="submit" value="Зареєструвати">
</form>
<BR><a href='/laba3/'>Назад в меню</a>
</body>
</html>
Сторінка пошуку працівника по П.І.Б. (form2.html):
<html>
<head>
<title>Вибірка даних</title>
<body>
<form action="form2.php" method="post">
<b>Введіть П.І.Б. працівника якого потрібно знайти: <b><BR>
<input type="text" name="user_name" size=50>
<input type="submit" value="Знайти!">
</form>
<BR><a href='/laba3/'>Назад в меню</a>
</body>
</html>
Сторінка видалення запису з БД (form3.html):
<html>
<head>
<title>Вибірка даних</title>
<body>
<form action="form2.php" method="post">
<b>Введіть П.І.Б. працівника якого потрібно знайти: <b><BR>
<input type="text" name="user_name" size=50>
<input type="submit" value="Знайти!">
</form>
<BR><a href='/laba3/'>Назад в меню</a>
</body>
</html>
Сторінка редагування даних працівника (form4.html):
<html>
<head>
<title>Коректування даних</title>
<body>
<form action="form4.php" method="post">
<b>Введіть П.І.Б. особи, дані для якої необхідно змінити:<b><BR>
<br><input type="text" name="pib" size=30>
<input type="submit" value="Ввести!">
</form>
</body>
</html>
Сторінка додавання нової АЗК (form5.html):
<html>
<head>
<title>form1</title>
<body>
<form method=post action="form5.php">
<br><b>Номер нової АЗК:</b>
<br><input name="id" value="" size=30>
<br><b>Місце, звідки постачають паливо на дану АЗК:</b>
<br><input name="id_src" value="" size=30>
<br><b>Номер АЗК куди постачають паливо:</b>
<br><input name="id_dest" value="" size=30>
<br><br><input type="submit" value="Зареєструвати">
</form>
<BR><a href='/laba3/'>Назад в меню</a>
</body>
</html>
Сторінка пошуку працівника по номеру АЗК (form6.html):
<html>
<head>
<title>Вибірка даних з таблиці ферм</title>
<body>
<form action="form6.php" method="post">
<b>Введіть номер АЗК що потрібно знайти: <b><BR>
<input type="integer" name="id" size=50>
<input type="submit" value="Знайти!">
</form>
<BR><a href='/laba3/'>Назад в меню</a>
</body>
</html>
Сторінка видалення запису з БД (form7.html):
<html>
<head>
<title>Вибірка даних</title>
<body>
<form action="form7.php" method="post">
<b>Введіть номер АЗК для видалення:<b><br>
<input type="integer" name="id" size=30>
<input type="submit" value="Видалити!">
</form>
</body>
</html>
Сторінка редагування даних АЗК (form8.html):
<html>
<head>
<title>Коректування даних</title>
<body>
<form action="form8.php" method="post">
<b>Введіть номер АЗК, дані для якої необхідно змінити:<b><BR>
<br><input type="integer" name="id" size=30>
<input type="submit" value="Ввести!">
</form>
</body>
</html>
Тексти на мові РНР:
Form1.php
<?php
/* Визначаємо значення змінним */
$hostname="localhost";
$username="root";
$password="";
/* Ім'я бази даних */
$dbName="vas";
/* Таблиця MySQL */
$usertable="tvas";
/* Створити з'єднання */
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не можу під'єднатися");
/* Вибір БД */
MYSQL_SELECT_DB($dbName) or die("Не можу вибрати БД");
/* Введення інформації в БД */
$query="INSERT INTO $usertable VALUES (null,'${_POST["pib"]}','${_POST["addres"]}',
'${_POST["phone"]}','${_POST["spec"]}',${_POST["oklad"]},${_POST["ferma"]})";
$result=MYSQL_QUERY($query);
/* Закрити з'єднання */
MYSQL_CLOSE();
if($result)
print "Запис введений в БД! <br>";
else
print "Помилка при введені даних!<br>";
print "<a href='/laba3/'>Назад в меню</a>";
?>
Form2.php
<?php
$hostname="localhost";
$username="root";
$password="";
$dbName="vas";
$usertable="tvas";
mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися ");
mysql_select_db("$dbName") or die("Не можу вибрати БД");
/* Вибрати співробітників, імена яких починаються на $usr_name */
$user_name=$_POST["user_name"];
$query="select * from $usertable where PIB like '$user_name%'";
$result=mysql_query($query);
/* Скільки знайшлося таких співробітників? */
$number=mysql_numrows($result);
/* Роздрук вибраних співробітників */
$i=0;
if ($number == 0)
{
print "Немає даних про $user_name в БД <br>";
}
elseif ($number > 0)
{
print "Знайдено наступні записи:<br><br>";
print "<TABLE BORDER=1>";
print "<TR><TH>ID</TH><TH>П.І.Б.</TH><TH>Адреса</TH><TH>Телефон</TH><TH>
Спеціальність</TH><TH>Зарплата</TH><TH>Номер цеху</TH></TR>";
while ($i < $number)
{
/* Привласнення змінним значень полів user_name, phone, job, img для i-го
рядка */
$id=mysql_result($result,$i,"id");
$pib=mysql_result($result,$i,"PIB");
$addres=mysql_result($result,$i,"addres");
$phone=mysql_result($result,$i,"phone");
$speciality=mysql_result($result,$i,"speciality");
$oklad=mysql_result($result,$i,"oklad");
$id_ferma=mysql_result($result,$i,"id_cex");
print "<TR><TD>$id</TD><TD>$pib</TD><TD>$addres</TD><TD>$phone</TD><TD>$speciality</TD><TD>$oklad</TD><TD>$id_ferma</TD></TR>";
$i=$i+1;
}
print "</TABLE>";
}
print "<a href='/laba3/'>Назад в меню</a>";
?>
Form3.php
<?php
$hostname="localhost";
$username="root";
$password="";
$dbName="vas";
$usertable="tvas";
mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися ");
mysql_select_db("$dbName") or die("Не можу вибрати БД");
$user_name=$_POST["pib"];
/* Видалення запису для поля user_name */
$query="select * from $usertable where pib='$user_name'";
$result=mysql_query($query);
if(mysql_numrows($result))
{
$query="delete from $usertable where pib='$user_name'";
$result=mysql_query($query);
print "Запис видаленo <br>";
} else print "Користувач з такими даними відсутній в базі даних<br>";
print "<a href='/laba3/'>Назад в меню</a>";
?>
Form4.php
<?php
$hostname="localhost";
$username="root";
$password="";
$dbName="vas";
$usertable="tvas";
mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися ");
mysql_select_db("$dbName") or die("Не можу вибрати БД");
$user_name=$_POST['pib'];
/* Вибір запису по полю user_name */
$query="select * from $usertable where pib='$user_name'";
$result=mysql_query($query);
/* Визначення існування вибраного запису */
$number=mysql_numrows($result);
if ($number==0)
{
print "Немає такого запису!<br>";
print "<a href='/laba3/'>Назад в меню</a>";
}
else
{
/* Якщо запис вибраний з бази даних, вивести всі її поля у форму для
редагування і видалити її */
$id=mysql_result($result,0,"id");
$pib=mysql_result($result,0,"PIB");
$addres=mysql_result($result,0,"addres");
$phone=mysql_result($result,0,"phone");
$speciality=mysql_result($result,0,"speciality");
$oklad=mysql_result($result,0,"oklad");
$id_ferma=mysql_result($result,0,"id_ferma");
/* Створення форми для редагування */
print "<form method=post action='form5.php?id=$id'>";
print "<br><b>П.І.Б. працівника:</b>";
print "<br><input name='pib' value='$pib' size=30>";
print "<br><b>Адреса:</b>";
print "<br><input name='addres' value='$addres' size=30>";
print "<br><b>Телефон:</b>";
print "<br><input name='phone' value='$phone' size=30>";
print "<br><b>Спеціальність:</b>";
print "<br><input name='spec' value='$speciality' size=30> ";
print "<br><b>Оклад:</b> ";
print "<br><input name='oklad' value='$oklad' size=15> ";
print "<br><b>Номер цеху:</b> ";
print "<br><input name='ferma' value='$id_ferma' size=15> ";
print "<br><br><input type='submit' value='Змінити'></form>";
}
?>
Form5.php
<?php
/* Визначаємо значення змінним */
$hostname="localhost";
$username="root";
$password="";
/* Ім'я бази даних */
$dbName="vas";
/* Таблиця MySQL */
$usertable="cex";
/* Створити з'єднання */
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не можу під'єднатися");
/* Вибір БД */
MYSQL_SELECT_DB($dbName) or die("Не можу вибрати БД");
/* Введення інформації в БД */
$query="INSERT INTO $usertable VALUES (${_POST["id"]},${_POST["id_src"]},
${_POST["id_dest"]})";
$result=MYSQL_QUERY($query);
/* Закрити з'єднання */
MYSQL_CLOSE();
if($result)
print "Запис введений в БД! <br>";
else
print "Помилка при введені даних!<br>";
print "<a href='/laba3/'>Назад в меню</a>";
?>
Form6.php
<?php
$hostname="localhost";
$username="root";
$password="";
$dbName="vas";
$usertable="cex";
mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися ");
mysql_select_db("$dbName") or die("Не можу вибрати БД");
$id=$_POST["id"];
$query="select * from $usertable where id like $id";
$result=mysql_query($query);
$number=mysql_numrows($result);
$i=0;
if ($number == 0)
{
print "Немає даних про $id в БД <br>";
}
elseif ($number > 0)
{
print "Знайдено наступні записи:<br><br>";
print "<TABLE BORDER=1>";
print "<TR><TH>номер АЗК</TH><TH>склад забезпечення</TH><TH>склад зберігання</TH></TR>";
while ($i < $number)
{
$id=mysql_result($result,$i,"id");
$id_src=mysql_result($result,$i,"id_src");
$id_dest=mysql_result($result,$i,"id_dest");
print "<TR><TD>$id</TD><TD>$id_src</TD><TD>$id_dest</TD></TR>";
$i=$i+1;
}
print "</TABLE>";
}
print "<a href='/laba3/'>Назад в меню</a>";
?>
Form7.php
<?php
$hostname="localhost";
$username="root";
$password="";
$dbName="vas";
$usertable="cex";
mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися ");
mysql_select_db("$dbName") or die("Не можу вибрати БД");
$user_name=$_POST["id"];
$query="select * from $usertable where id=$id";
$result=mysql_query($query);
if(mysql_numrows($result))
{
$query="delete from $usertable where id=$id";
$result=mysql_query($query);
print "Запис видаленo <br>";
} else print "ферма з таким номером відсутня в базі даних<br>";
print "<a href='/laba3/'>Назад в меню</a>";
?>
Form8.php
<?php
$hostname="localhost";
$username="root";
$password="";
$dbName="vas";
$usertable="tvas";
mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися ");
mysql_select_db("$dbName") or die("Не можу вибрати БД");
$user_name=$_POST['id'];
$query="select * from $usertable where id=$id";
$result=mysql_query($query);
/* Визначення існування вибраного запису */
$number=mysql_numrows($result);
if ($number==0)
{
print "Немає такого запису!<br>";
print "<a href='/laba3/'>Назад в меню</a>";
}
else
{
/* Якщо запис вибраний з бази даних, вивести всі її поля у форму для
редагування і видалити її */
$id=mysql_result($result,0,"id");
$id_src=mysql_result($result,0,"id_src");
$id_dest=mysql_result($result,0,"id_dest");
/* Створення форми для редагування */
print "<form method=post action='form5.php?id=$id'>";
print "<br><b>Номер АЗК:</b>";
print "<br><input name='id' value=$id>";
print "<br><b>Місце, звідки постачають паливо на дану АЗК: :</b>";
print "<br><input name='id_src' value=$id_src>";
print "<br><b>Номер АЗК куди постачають паливо:</b>";
print "<br><input name='id_dest' value=$id_dest>";
print "<br><br><input type='submit' value='Змінити'></form>";
}
?>
ОТРИМАНІ СТОРІНКИ У ВІКНІ БРАУЗЕРА
ВИСНОВОК
На даній лабораторній роботі я ознайомився з принципами побудови сучасних інтернет-сайтів з використанням таких технологій як MySQL – в якості баз даних (зберігання та вивід інформації), PHP – в якості елемента генерування тексту вебсторінок та звернень до баз даних та HTML – як мови виводу інформації у вікні браузера.