МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ІКТА
кафедра захисту інформації
ЗВІТ
до лабораторної роботи №3
з курсу:
«Бази даних та знань»
Варіант – 1
Львів – 2012
Завдання
Необхідно створити пакет програм по створенню простої бази даних(БД),її доповненню, пошуку запису, видаленню запису і її редагуванню. Пакет програм повинен містити загальне меню по виконуваних діях в якому повинен бути встановлений лічильник відвідування цієї сторінки. Пакет програм повинен оперувати з графічними об'єктами (наприклад, фотографії однокурсників). Текст програм повинен бути написаний на мовах HTML і php. Безпосередня робота з базою даних повинна здійснюватися за допомогою пакету СУБД MySQL. Сервер MySQL повинен знаходитися на машині localhost (там же де і Web-сервер Apache). Програми на php повинні взаємодіяти з сервером MySQL за допомогою включених в php функцій взаємодії з MySQL. Після вивчення представлених нижче текстів програм студент повинен розробити подібний пакет програм для БД, заданої у 1 та 2 лабораторній роботі.
ВИКОНАННЯ РОБОТИ
Тексти HTML документів для формування форм:
Додавання запису в базу даних:
form1.html
<html>
<head>
<title>Додавання запису</title>
<body>
<form method=post action="form1.php">
<br><b>Введіть id марки:</b>
<br><input name="id_marku" value="" size=10>
<br><b>Введіть назву марки:</b>
<br><input name="name" value="" size=10>
<br><br><b>Введіть висоту марки:</b>
<br><input name="height" value="" size=10>
<br><br><b>Введіть ширину марки:</b>
<br><input name="width" value="" size=10>
<br><br><b>Введіть форму марки:
<br><input name="form" value="" size=10>
<br><b>Введіть ціну марки:</b>
<br><input name="prise" value="" size=10>
<br><br><b>Введіть країну марки:</b>
<br><input name="country" value="" size=10>
<br><br><b>Введіть рік марки:</b>
<br><input name="year" value="" size=10>
<br><br><b>Введіть id власника марки:
<br><input name="id_club_person" value="" size=10>
<br><br><b>Введіть П.І.Б. власника марки:</b>
<br><input name="FSname" value="" size=10>
<br><br><b>Введіть телефон власника марки:
<br><input name="telephone" value="" size=10>
<br><b>Введіть статус власника марки:</b>
<br><input name="rank" value="" size=10>
<br><br><b>Введіть рік вступу власника:</b>
<br><input name="year_enter" value="" size=10>
<br><br><b>Введіть назва клубу-партнера:</b>
<br><input name="name_club_partner" value="" size=10>
<br><br><b>Введіть адреса клубу-партнера:</b>
<br><input name="adress_club_partner" value="" size=10>
<br><br><b>Введіть П.І.Б. голови клубу-партнера:
<br><input name="FSname_gover" value="" size=10>
<br><br><input type="submit" value="Зареєструвати">
</form>
</body>
</html>
/
Знаходження запису по id марки:
form2.html
<html>
<head>
<title>Знаходження даних</title>
<body>
<form action="form2.php" method="post">
<b>Введіть id марки для пошуку марки <b>
<input type="text" id_marku="id_marku" size=30>
<input type="submit" value="Ввести!">
</form>
</body>
</html>
/
Видалення запису по id марки:
form3.html
<html>
<head>
<title>Видалення даних</title>
<body>
<form action="form3.php" method="post">
<b>Введіть id марки для видалення:<b>
<input type="text" id_marku="id_marku" size=30>
<input type="submit" value="Ввести!">
</form>
</body>
</html>
/
Редагування запису:
form4.html
<html>
<head>
<title>Коректування даних</title>
<body>
<form action="form4.php" method="post">
<b>Введіть id марки, дані для якої необхідно змінити:<b>
<br><input type="text" id_marku="id_marku" size=30>
<input type="submit" value="Ввести!">
</form>
</body>
</html>
/
Тексти програм на мові PHP:
form1.php
<?
/* Визначаємо значення змінним */
$hostname="localhost";
$username="root";
$password="";
/* Ім'я бази даних */
$dbName="tovarystvo_filatelistiv";
/* Таблиця MySQL */
$usertable="marku";
/* Створити з'єднання */
MYSQL_CONNECT ($hostname,$username,$password) OR DIE("Не можу під'єднатися");
/* Вибір БД */
MYSQL_SELECT_DB($dbName) or die("Не можу вибрати БД");
/* Введення інформації в БД */
$query="INSERT INTO $usertable VALUES ('$id_marku','$name','$height','$width','$form','$prise','$country','$year','$id_club_person','$FSname','$telephone','$rank','$year_enter','$name_club_partner','$adress_club_partner','$FSname_gover')";
$result=MYSQL_QUERY($query);
/* Закрити з'єднання */
MYSQL_CLOSE();
print "Запис введений в БД! <br>";
print "<a href='../php/'>Назад в меню</a>";
?>
form2.php
<?php
$hostname="localhost";
$username="root";
$password="";
$dbName="tovarystvo_filatelistiv";
$usertable=" marku";
mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися ");
mysql_select_db("$dbName") or die("Не можу вибрати БД");
$query="select * from $usertable where id_marku like '$id_marku%'";
$result=mysql_query($query);
/* Скільки знайшлося таких марок? */
$number=mysql_numrows($result);
/* Роздрук вибраних марок */
$i=0;
if ($number == 0)
{
{
print "Немає даних про $id_marku в БД <br>";
}
elseif ($number > 0)
{
while ($i < $number)
{
/* Привласнення змінним значень полів id_marku, name, height, width, form, prise, country, year, id_club_person, FSname, telephone, rank, year_enter,name_club_partner, adress_club_partner, FSname_gover для i-го рядка */
$id_marku=mysql_result($result,$i,"id_marku");
$name=mysql_result#@:;
$height=mysql_result#@:;
$width=mysql_result#@;;
$form=mysql_result#@;;
$prise=mysql_result#@:;
$country=mysql_result#@:;
$year=mysql_result#@:;
$id_club_person=mysql_result#@:;
$FSname=mysql_result#@:;
$telephone=mysql_result#@:;
$rank=mysql_result#@:;
$year_enter=mysql_result#@:;
$name_club_partner=mysql_result#@:;
$adress_club_partner=mysql_result#@:;
$FSname_gover=mysql_result#@:;
?>
form3.php <?php $hostname="localhost"; $username="root"; $password=""; $dbName=" tovarystvo_filatelistiv"; $usertable="marku"; mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися "); mysql_select_db("$dbName") or die("Не можу вибрати БД"); /* Видалення запису для поля id_marku */ $query="delete from $usertable where id_marku='$id_marku'"; $result=mysql_query($query); print "Запис видалений <br>"; print "<a href='../php/'>Назад в меню</a>"; ?>
form4.php
<?php
$hostname="localhost";
$username="root";
$password="";
$dbName="tovarystvo_filatelistiv";
$usertable=" marku";
mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися ");
mysql_select_db("$dbName") or die("Не можу вибрати БД");
/* Вибір запису по полю id_marku */
$query="select * from $usertable where id_marku='$id_marku'";
$result=mysql_query($query);
/* Визначення існування вибраного запису */
$number=mysql_numrows($result);
if ($number==0)
{
print "Немає такого запису!<br>";
print "<a href='../php/'>Назад в меню</a>";}
else
{
/* Якщо запис вибраний з бази даних, вивести всі її поля у форму для
редагування і видалити її */
$id_marku=mysql_result($result,0,"id_marku");
$name=mysql_result($result,0,"name");
$height=mysql_result($result,0,"height");
$width=mysql_result($result,0,"width");
$form=mysql_result($result,0,"form");
$prise =mysql_result($result,0,"prise");
$country=mysql_result($result,0,"country");
$year=mysql_result($result,0,"year");
$id_club_person=mysql_result($result,0,"id_club_person");
$FSname=mysql_result($result,0,"FSname");
$telephone=mysql_result($result,0,"telephone");
$rank=mysql_result($result,0,"rank");
$year_enter=mysql_result($result,0,"year_enter");
$name_club_partner=mysql_result($result,0,"name_club_partner");
$adress_club_partner=mysql_result($result,0,"adress_club_partner");
$FSname_gover=mysql_result($result,0,"FSname_gover");
/* Видалення запису */
$query="delete from $usertable where id_marku='$id_marku'";
$result=mysql_query#@:;
/* Створення форми для редагування */
print "<form method=post action='form5.php'>";
print "<br><b>Введіть id марки:</b>";
print "<br><input name='id_marku' value='$id_marku' size=30>";
print "<br><b>Введіть назву марки:</b>";
print "<br><input name='name' value='$name' size=30>";
print "<br><br><b>Введіть висоту марки:</b>";
print "<br><input name='height' value='$height' size=30>";
print "<br><br><b>Введіть ширину марки:</b>";
print "<br><input name='width' value='$width' size=30>";
print "<br><br><b> Введіть форму марки:</b>";
print "<br><input name='form' value='$form' size=30>";
print "<br><br><b>Введіть ціну марки:</b>";
print "<br><input name='prise' value='$prise' size=30>";
print "<br><br><b>Введіть країну марки:</b>";
print "<br><input name='country' value='$country' size=30>";
print "<br><br><b>Введіть рік марки:</b>";
print "<br><input name='year' value='$year' size=30>";
print "<br><br><b>Введіть id власника марки:</b>";
print "<br><input name='id_club_person' value='$id_club_person' size=30>";
print "<br><br><b>Введіть П.І.Б. власника марки:</b>";
print "<br><input name='FSname' value='$FSnamesize=30>";
print "<br><br><b>Введіть телефон власника марки:</b>";
print "<br><input name='telephone' value='$telephone' size=30>";
print "<br><br><b>Введіть статус власника марки:</b>";
print "<br><input name='rank' value='$rank' size=30>";
print "<br><br><b>Введіть рік вступу власника:</b>";
print "<br><input name='year_enter' value='$year_enter' size=30>";
print "<br><br><b>Введіть назва клубу-партнера:</b>";
print "<br><input name='name_club_partner' value='$name_club_partner' size=30>";
print "<br><br><b>Введіть адреса клубу-партнера:</b>";
print "<br><input name='adress_club_partner' value='$adress_club_partner' size=30>";
print "<br><br><b>Введіть П.І.Б. голови клубу-партнера:</b>";
print "<br><input name='FSname_govervalue='$FSname_goversize=30>";
print "<br><br><input type='submit' value='Зареєструвати'>";
print "</form>";
}
?>
form5.php
<?
/* Визначаємо значення змінним */
$hostname="localhost";
$username="root";
$password="";
/* Ім'я бази даних */
$dbName="tovarystvo_filatelistiv";
/* Таблиця MySQL */
$usertable=" marku";
/* Створити з'єднання */
mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися ");
/* Вибір БД */
mysql_select_db("$dbName") or die("Не можу вибрати БД");
/* Введення інформації в БД */
$query="INSERT INTO $usertable VALUES ('$id_marku','$name','$height','$width','$form','$prise','$country','$year','$id_club_person','$FSname','$telephone','$rank','$year_enter','$name_club_partner','$adress_club_partner','$FSname_gover')";
$result=MYSQL_QUERY($query);
/* Закрити з'єднання */
MYSQL_CLOSE();
print "Запис введений в БД! <br>";
print "<a href='../php/'>Повернутись до меню</a>";
?>
Висновок: на цій лабораторній роботі я навчився створювати пакет програм простої бази даних, її доповнювати, здійснювати пошуку запису, а також видаляти запис.