Лабораторна робота №3

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Бази даних та знань

Частина тексту файла (без зображень, графіків і формул):

Лабораторна робота №3 з курсу Бази даних та знань Необхідно створити пакет програм по створенню простої бази даних(БД),її доповненню, пошуку запису, видаленню запису і її редагуванню. Пакет програм повинен містити загальне меню по виконуваних діях в якому повинен бути встановлений лічильник відвідування цієї сторінки. Пакет програм повинен оперувати з графічними об'єктами (наприклад, фотографії однокурсників). Текст програм повинен бути написаний на мовах HTML і php. Безпосередня робота з базою даних повинна здійснюватися за допомогою пакету СУБД MySQL. Сервер MySQL повинен знаходитися на машині localhost (там же де і Web-сервер Apache). Програми на php повинні взаємодіяти з сервером MySQL за допомогою включених в php функцій взаємодії з MySQL. Після вивчення представлених нижче текстів програм студент повинен розробити подібний пакет програм для БД, заданої у 1 та 2 лабораторній роботі. Наприклад, БД може включати поля: 1.Назва виробу 2.Час випуску 3.Коротка характеристика виробу 4. Фотографія виробу Як виріб можуть розглядатися автомобілі, літаки, судна і ін. Кожний студент повинен мати свій username в СУБД MySQL. Нижче розглянутий приклад створення користувача з username sydorak. Створення користувача sydorak: > mysql -u root -p Enter password: Welcome to MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 72 to server version: 3.22.32 Type 'help' for help. mysql>use mysql; Database changed mysql> select * from user; +-----------+-------+------------------+-------------+-------------+-----------+ | Host      | User  | Password    | Select_priv |Insert_priv | Update_pri| +-----------+-------+------------------+-------------+-------------+-----------+ | localhost | root  | 3aa3ee1e1d77f653 | У           | У           | У         | | сеl       | root  |                  | У           | У           | У         | | localhost |      |                  | N           | N           | N        | | сеl       |      |                  | N           | N           | N         | | localhost |sydorak| 75cbfbdb376c43a9 | N           | N          | N         | | localhost | admin | 12ad110a21defd86 | У           | У           | У         | +-----------+-------+------------------+-------------+-------------+-----------+ 6 rows in set (0.00 sec) mysql>insert into user values ('localhost','sydorak',password('sydorak'),       -> 'y','y','y','y','y','n','y','n','n','n','n','n','n','n'); Query OK, 1 row affected (0.00 sec) mysql> select * from user; +-----------+--------+------------------+-------------+-------------+----------+ | Host      | User   | Password        | Select_priv | Insert_priv | Update_pr| +-----------+--------+------------------+-------------+-------------+----------+ | localhost | root  | 3aa3ee1e1d77f653 | У          | У          | У        | | сеl       | root  |                 | У          | У          | У      | | localhost |        |                | N           | N           | N        | | сеl      |        |                | N          | N          | N        | | localhost | alex  | 75cbfbdb376c43a9 | N          | N          | N       | | localhost | admin  | 12ad110a21defd86 | У          | У          | У        | | localhost | sydorak| 7f6731414c9c046a | У          | У          | У        | +-----------+--------+------------------+-------------+-------------+----------+ 7 rows in set (0.00 sec) mysql> quit Bye > Перезавантажуємо сервер MySQL: > mysqladmin -u root -p reload Enter password: > ----------------------------------------------------------------------------------       Далі студент повинен створити свою базу даних і таблицю в ній з якими працюватиме створений пакет програм на php. Для їх створення необхідно підключитися до машини localhost. Приклад створення бази даних sydorakdb1 і таблиці в ній з ім'ям sydoraktab1 (Виконує студент!): > mysql -u sydorak -p -h 'localhost' Enter password: Welcome to MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 75 to server version: 3.22.32 Type 'help' for help. mysql> create database sydorakdb1; Query OK, 1 row affected (0.02 sec) mysql> use sydorakdb1; Database changed mysql> create table sydoraktab1 (user_name VARCHAR(25),phone VARCHAR(10),       -> job BLOB,img VARCHAR(20)); Query OK, 0 rows affected (0.05 sec) mysql> quit Bye Пароль входу в базу даних у всіх однаковий і відповідає username. Для його заміни необхідно виконати команду (ввівши старий пароль): > mysqladmin -u sydorak -h 'localhost' -p password 'sydorak' Enter password: > Потім перенавантажувати MySQL (ввівши новий пароль): > mysqladmin -u sydorak -h 'localhost' -p reload Enter password: >  Тексти HTML документів для формування форм: index.html <html> <head> <title>Menu</title> </head> <body> <b> <а href="../php/form1.html"> 1.Добавити запис в базу даних </a><br> <а 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> Файл counter.dat доцільно заздалегідь створити і відкрити доступ до нього для всіх користувачів за допомогою команди: >chmod 0777 counter.dat 1.Добавити запис в базу даних form1.html <html> <head> <title>form1</title> <body> <form method=post action="form1.php"> <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> 2. Знайти запис по Id марки form2.html <html> <head> <title>Виборка даних</title> <body> <form action="form2.php" method="post"> <b>Введіть id марки <b> <input type="text" name="name" size=30> <input type="submit" value="Ввести!"> </form> </body> </html> 3.Видалити запис 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> 4.Відредагувати запис form4.html <html> <head> <title>Коректування даних</title> <body> <form action="form4.php" method="post"> <b>Введіть id марки, дані для якої необхідно змінити:<b> <br><input type="text" name="name" size=30> <input type="submit" value="Ввести!"> </form> </body> </html> Тексти програм на мові PНР: form1.php <? /* Визначаємо значення змінним */ $hostname="localhost"; $username="dima"; $password="admin"; /* Ім'я бази даних */ $dbName="dimadb"; /* Таблиця MySQL */ $usertable="dimatab1"; /* Створити з'єднання */ MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не можу під'єднатися"); /* Вибір БД */ MYSQL_SELECT_DB($dbName) or die("Не можу вибрати БД"); /* Введення інформації в БД */ $query="INSERT INTO $usertable VALUES ('$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="dima"; $password="admin"; $dbName="dimadb"; $usertable="dimatab1"; mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися "); mysql_select_db("$dbName") or die("Не можу вибрати БД"); /* Вибрати марки, рік випуску яких $year_search */ $query="select * from $usertable where year like '$year%'"; $result=mysql_query($query); /* Скільки знайшлося таких марок? */ $number=mysql_numrows($result); /* Роздрук вибраних марок */ $i=0; if ($number == 0) { { print "Немає даних про $year в БД <br>"; } elseif ($number > 0) { while ($i < $number) { /* Привласнення змінним значень полів name, height, width, form, prise, country, year, id_club_person, FSname, telephone, rank, year_enter, name_club_partner, adress_club_partner, FSname_gover для i-го рядка */ $name=mysql_result($result,$i,"name"); $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="dima"; $password="admin"; $dbName="dimadb"; $usertable="dimatab1"; 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>"; print "<a href='../php/'>Назад в меню</a>";   ?> form4.php <?php $hostname="localhost"; $username="dima"; $password="admin"; $dbName="dimadb"; $usertable="dimatab1"; mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися "); mysql_select_db("$dbName") or die("Не можу вибрати БД"); /* Вибір запису по полю name */ $query="select * from $usertable where name='$name'"; $result=mysql_query($query); /* Визначення існування вибраного запису */ $number=mysql_numrows($result); if ($number==0) { print "Немає такого запису!<br>"; print "<a href='../php/'>Назад в меню</a>";} else { /* Якщо запис вибраний з бази даних, вивести всі її поля у форму для редагування і видалити її */ $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 name='$name'"; $result=mysql_query#@:; /* Створення форми для редагування */ print "<form method=post action='form5.php'>"; 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="dima"; $password="admin"; /* Ім'я бази даних */ $dbName="dimadb"; /* Таблиця MySQL */ $usertable="dimatab1"; /* Створити з'єднання */ mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися "); /* Вибір БД */ mysql_select_db("$dbName") or die("Не можу вибрати БД"); /* Введення інформації в БД */ $query="INSERT INTO $usertable VALUES ('$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>"; ?>  
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!