МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
ІНСТИТУТ КОМП’ЮТЕРНИХ ТЕХНОЛОГІЙ, АВТОМАТИКИ ТА МЕТРОЛОГІЇ
КАФЕДРА”ЗАХИСТ ІНФОРМАЦІЇ”
Звіт
до лабораторної роботи № 3
з курсу: "Бази даних та знань"
Завдання
Необхідно створити пакет програм по створенню простої бази даних(БД),її доповненню, пошуку запису, видаленню запису і її редагуванню. Пакет програм повинен містити загальне меню по виконуваних діях в якому повинен бути встановлений лічильник відвідування цієї сторінки. Пакет програм повинен оперувати з графічними об'єктами (наприклад, фотографії однокурсників). Текст програм повинен бути написаний на мовах HTML і php. Безпосередня робота з базою даних повинна здійснюватися за допомогою пакету СУБД MySQL. Сервер MySQL повинен знаходитися на машині localhost (там же де і Web-сервер Apache). Програми на php повинні взаємодіяти з сервером MySQL за допомогою включених в php функцій взаємодії з MySQL. Після вивчення представлених нижче текстів програм студент повинен розробити подібний пакет програм для БД, заданої у 1 та 2 лабораторній роботі.
Варіант №15. Швейна фабрика
1) Атрибути
1. Номер замовлення
2. Вид тканини
3. Кількість тканини (в метрах)
4. Номер швейної машини
5. id_виконавця
6. Телефон виконавця
7. Оклад виконавця
8. Посада виконавця
9. ПІБ виконавця
10. id_замовника
11. ПІБ замовника
12. Телефон замовника
13. Ціна виробу
14. Ціна матеріалів
15. Термін виконання замовлення
3) Схема функціональних залежностей
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Тексти HTML документів для формування форм:
<html>
<head>
<title>Menu</title>
</head>
<body>
<b>
<а href="../php/form1.html">
1.Добавити запис в базу даних <
<а href="../php/form2.html">
2. Знайти запис</a><br>
<а href="../php/form3.html">
3.Видалити запис </a><br>
<а href="../php/form4.html">
4.Відредагувати запис </a>
</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
<head>
<title>form1</title>
<body>
<form method=post action="form1.php">
<br><b>Номер замовлення:</b>
<br><input name="id_zam" value="" size=10>
<br><b>Вид тканини:</b>
<br><input name="tkanina" value="" size=10>
<br><b>Кількість тканини (в метрах):</b>
<br><input name="k-t_tkan" value="" size=10>
<br><b>Номер швейної машини:</b>
<br><input name="id_ma-ki" value="" size=10>
<br><b>id_виконавця:</b>
<br><input name="id_prazivnyka" value="" size=10>
<br><b>Посада виконавця:</b>
<br><input name="posada" value="" size=10>
<br><b>ПІБ виконавця:</b>
<br><input name="prizvywe" value="" size=10>
<br><b>id_замовника:</b>
<br><input name="id_zamovnyka" value="" size=10>
<br><b>ПІБ замовника:</b>
<br><input name="prizvywe_zam" value="" size=10>
<br><b>Телефон замовника:</b>
<br><input name="tel_zamovnika" value="" size=10>
<br><b>Ціна виробу:</b>
<br><input name="cina_virobu" value="" size=10>
<br><b>Ціна матеріалів:</b>
<br><input name="cina_mater" value="" size=10>
<br><b>Термін виконання замовлення:</b>
<br><input name="termin" value="" size=10>
<br><br><input type="submit" value="Додати запис">
</form>
</body>
</html>
Знаходження запису:
form2.html
<html>
<head>
<title>Вибірка даних</title>
<body>
<form action="form2.php" method="post">
<b>Введіть id замовлення<b>
<input type="text" name="id_part" size=30>
<input type="submit" value="Далі!">
</form>
</body>
</html>
Видалення запису:
form3.html
<html>
<head>
<title>Вибірка даих</title>
<body>
<form action="form3.php" method="post">
<b>Введіть id для видалення:<b>
<input type="text" name="name" size=30>
<input type="submit" value="Далі!">
</form>
</body>
</html>
Редагування запису:
form4.html
<html>
<head>
<title>Вибірка даих</title>
<body>
<form action="form3.php" method="post">
<b>Введіть id для видалення:<b>
<input type="text" name="name" size=30>
<input type="submit" value="Далі!">
</form>
</body>
</html>
Тексти програм PHP:
form1.php
<?
/* Визначаємо значення змінним */
$hostname="localhost:8888";
$username="adm";
$password="adm";
/* Ім'я бази даних */
$dbName="laba3";
/* Таблиця MySQL */
$usertable="table_laba3";
/* Створити з'єднання */
MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не можу
під'єднатися");
/* Вибір БД */
MYSQL_SELECT_DB($dbName) or die("Не можу вибрати БД");
/* Введення інформації в БД */
$query="INSERT INTO $usertable VALUES ('$id_part','$name','$head','$adress',
'$tel','$quantity','$id_member','$name_member','$birth','$tel_member','$adress_memb
er','$id_university','$university','$major')";
$result=MYSQL_QUERY($query);
/* Закрити з'єднання */
MYSQL_CLOSE();
print "Запис введений в БД! <br>";
print "<a href='../php/'>Назад в меню</a>";
?>
form2.php
<?php
$hostname="localhost";
$username="Roman";
$password="1234qwerty";
$dbName="laba3";
$usertable="table_laba3";
mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися ");
mysql_select_db("$dbName") or die("Не можу вибрати БД");
/* Вибрати номер замовлення $id_zam */
$query="select * from $usertable where user_name like '$id_part%'";
$result=mysql_query($query);
/* Скільки знайшлося замовлень? */
$number=mysql_numrows($result);
/* Роздрук вибраних замовлень */
$i=0;
if ($number == 0)
{
{
print "Немає даних про $id_zam в БД <br>";
}
elseif ($number > 0)
{
while ($i < $number)
{
/* Привласнення змінним значень полів усієх БД для i-го
рядка */
$id_zam=mysql_result($result,$i,"id_part");
$id_zam=mysql_result#@:;
$ tkanina =mysql_result#@:;
$ k-t_tkan =mysql_result#@:;
$ id_ma-ki =mysql_result#@:;
$ id_prazivnyka =mysql_result#@:;
$ posada =mysql_result#@:;
$ prizvywe =mysql_result#@:;
$ id_zamovnyka =mysql_result#@:;
$ prizvywe_zam =mysql_result#@:;
$ tel_zamovnika =mysql_result#@:;
$ cina_virobu =mysql_result#@:;
$ cina_mater =mysql_result#@:;
$major=mysql_result#@:;
?>
form3.php
<?php
$hostname="localhost";
$username="Roman";
$password="1234qwerty";
$dbName="laba3";
$usertable="table_laba3";
mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися ");
mysql_select_db("$dbName") or die("Не можу вибрати БД");
/* Видалення запису для поля name */
$query="delete from $usertable where name='$name'";
$result=mysql_query($query);
print "Запис видалений <br>";
?>
form4.php
<?php
$hostname="localhost";
$username="Roman";
$password="1234qwerty";
$dbName="laba3";
$usertable="table_laba3";
mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися ");
mysql_select_db("$dbName") or die("Не можу вибрати БД");
/* Вибір запису по полю name */
$query="select * from $usertable where user_name='$name'";
$result=mysql_query($query);
/* Визначення існування вибраного запису */
$number=mysql_numrows($result);
if ($number==0)
{
print "Немає такого запису!<br>";
print "<a href='../php/'>Назад в меню</a>";}
else
{
/* Якщо запис вибраний з бази даних, вивести всі її поля у форму для
редагування і видалити її */
$id_part=mysql_result($result,0,"id_part");
$name=mysql_result($result,0,"name");
$head=mysql_result($result,0,"head");
print "<img src='pics/$img' height=130><br>";
/* Видалення запису */
$query="delete from $name where name='$name'";
$result=mysql_query#@:;
/* Створення форми для редагування */
print "<form method=post action="form1.php">";
print "<br><b>Номер замовлення:</b> ";
print "<br><input name="id_zam" value="" size=10> ";
print "<br><b>Вид тканини:</b> ";
print "<br><input name="tkanina" value="" size=10> ";
print "<br><b>Кількість тканини (в метрах):</b> ";
print "<br><input name="k-t_tkan" value="" size=10> ";
print "<br><b>Номер швейної машини:</b> ";
print "<br><input name="id_ma-ki" value="" size=10> ";
print "<br><b>id_виконавця:</b> ";
print "<br><input name="id_prazivnyka" value="" size=10> ";
print "<br><b>Посада виконавця:</b>";
print "<br><input name="posada" value="" size=10> ";
print "<br><b>ПІБ виконавця:</b>";
print "<br><input name="prizvywe" value="" size=10> ";
print "<br><b>id_замовника:</b>";
print "<br><input name="id_zamovnyka" value="" size=10>";
print "<br><b>ПІБ замовника:</b>";
print "<br><input name="prizvywe_zam" value="" size=10>";
print "<br><b>Телефон замовника:</b>";
print "<br><input name="tel_zamovnika" value="" size=10>";
print "<br><b>Ціна виробу:</b>";
print "<br><input name="cina_virobu" value="" size=10>";
print "<br><b>Ціна матеріалів:</b>";
print "<br><input name="cina_mater" value="" size=10>";
print "<br><b>Термін виконання замовлення:</b>";
print "<br><input name="termin" value="" size=10>";
print "<br><br><input type="submit" value="Додати запис"> ";
print "</form>";
}
?>
form5.php
<?
/* Визначаємо значен
$hostname="localhost
$username="Roman";
$password="1234qwerty
/* Ім'я бази даних */
$dbName="laba3";
/* Таблиця MySQL */
$usertable="table_laba
/* Створити з'єднання */
mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися ");
/* Вибір БД */
mysql_select_db("$dbName") or die("Не можу вибрати БД");
/* Введення інформації в БД */
$query="INSERT INTO $usertable VALUES ('$id_zam','$tkanina','$k-t_tkan','$id_ma-ki','$id_prazivnika','$ posada ','$ prizvywe ','$ id_zamovnyka ','$ prizvywe_zam ','$ tel_zamovnika ','$ cina_virobu ','$ cina_mater ','$ cina_mater')";
$result=MYSQL_QUERY($query);
/* Закрити з'єднання */
MYSQL_CLOSE();
print "Запис введений в БД! <br>";
print "<a href='../php/'>Повернутись до меню</a>";
?>
ВИСНОВОК:
У даній лабораторній роботі я розробив візуальний інтерфейс для бази даних відповідно до завдання з лабораторної роботи №2, використовуючи мову PHP.