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

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

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

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

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

Лабораторна робота №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 form1.html <html> <head> <title>form1</title> <body> <form method=post action="form1.php"> <br><b>Введіть Ваше ім'я:</b> <br><input name="user_name" value="" size=30> <br><br><b>Введіть номер Вашого телефону:</b> <br><input name="phone" value="" size=10> <br><br><b>Введіть коротку характеристику: <br><TEXTAREA NAME="job" ROWS=10 COLS=40></TEXTAREA> <br><br><b>Введіть ім'я фото лат.буквами:</b> <br><input name="img" value="nofoto.jpg" size=20> <br><br><input type="submit" value="Зареєструвати"> </form> </body> </html> form2.html <html> <head> <title>Виборка даних</title> <body> <form action="form2.php" method="post"> <b>Введите П.І.Б.<b> <input type="text" name="user_name" size=30> <input type="submit" value="Ввести!"> </form> </body> </html> form3.html <html> <head> <title>Виборка даних</title> <body> <form action="form3.php" method="post"> <b>Введите П.І.Б. для видалення:<b> <input type="text" name="user_name" size=30> <input type="submit" value="Ввести!"> </form> </body> </html> form4.html <html> <head> <title>Коректування даних</title> <body> <form action="form4.php" method="post"> <b>Введіть П.І.Б. особи, дані для якої необхідно змінити:<b> <br><input type="text" name="user_name" size=30> <input type="submit" value="Ввести!"> </form> </body> </html> Тексти програм на мові PНР: form1.php <? /* Визначаємо значення змінним */ $hostname="localhost"; $username="sydorak"; $password="sydorak"; /* Ім'я бази даних */ $dbName="sydorakdb"; /* Таблиця MySQL */ $usertable="sydoraktab1"; /* Створити з'єднання */ MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не можу під'єднатися"); /* Вибір БД */ MYSQL_SELECT_DB($dbName) or die("Не можу вибрати БД"); /* Введення інформації в БД */ $query="INSERT INTO $usertable VALUES ('$user_name','$phone','$job','$img')"; $result=MYSQL_QUERY($query); /* Закрити з'єднання */ MYSQL_CLOSE(); print "Запис введений в БД! <br>"; print "<a href='../php/'>Назад в меню</a>"; ?> form2.php <?php $hostname="localhost"; $username="sydorak"; $password="sydorak"; $dbName="sydorakdb"; $usertable="sydoraktab1"; mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися "); mysql_select_db("$dbName") or die("Не можу вибрати БД"); /* Вибрати співробітників, імена яких починаються на $usr_name */ $query="select * from $usertable where user_name like '$user_name%'"; $result=mysql_query($query); /* Скільки знайшлося таких співробітників? */ $number=mysql_numrows($result); /* Роздрук вибраних співробітників */ $i=0; if ($number == 0) { { print "Немає даних про $user_name в БД <br>"; } elseif ($number > 0) { while ($i < $number) { /* Привласнення змінним значень полів user_name, phone, job, img для i-го рядка */ $user_name=mysql_result($result,$i,"user_name"); $phone=mysql_result#@:; $job=mysql_result#@;; $img=mysql_result#@ form3.php <?php $hostname="localhost"; $username="sydorak"; $password="sydorak"; $dbName="sydorakdb"; $usertable="sydoraktab1"; mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися "); mysql_select_db("$dbName") or die("Не можу вибрати БД"); /* Видалення запису для поля user_name */ $query="delete from $usertable where user_name='$user_name'"; $result=mysql_query($query); print "Запис видалений <br>"; print "<a href='../php/'>Назад в меню</a>";   ?> form4.php <?php $hostname="localhost"; $username="sydorak"; $password="sydorak"; $dbName="sydorakdb"; $usertable="sydoraktab1"; mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися "); mysql_select_db("$dbName") or die("Не можу вибрати БД"); /* Вибір запису по полю user_name */ $query="select * from $usertable where user_name='$user_name'"; $result=mysql_query($query); /* Визначення існування вибраного запису */ $number=mysql_numrows($result); if ($number==0) { print "Немає такого запису!<br>"; print "<a href='../php/'>Назад в меню</a>";} else { /* Якщо запис вибраний з бази даних, вивести всі її поля у форму для редагування і видалити її */ $phone=mysql_result($result,0,"phone"); $job=mysql_result($result,0,"job"); $img=mysql_result($result,0,"img"); print "<img src='pics/$img' height=130><br>"; /* Видалення запису */ $query="delete from $usertable where user_name='$user_name'"; $result=mysql_query#@:; /* Створення форми для редагування */ print "<form method=post action='form5.php'>"; print "<br><b>Введите Ваше ім'я:</b>"; print "<br><input name='user_name' value='$user_name' size=30>"; print "<br><br><b>Введите номер Вашого телефону:</b>"; print "<br><input name='phone' value='$phone' size=10>"; print "<br><br><b>Введіть коротку характеристику:"; print "<br><TEXTAREA NAME='job' ROWS=10 COLS=40>$job</TEXTAREA>"; print "<br><br><b>Введите ім'я фото лат.буквами:</b>"; print "<br><input name='img' value='$img' size=20>"; print "<br><br><input type='submit' value='Зареєструвати'>"; print "</form>"; } ?> form5.php <? /* Визначаємо значення змінним */ $hostname="localhost"; $username="sydorak"; $password="sydorak"; /* Ім'я бази даних */ $dbName="sydorakdb"; /* Таблиця MySQL */ $usertable="sydoraktab1"; /* Створити з'єднання */ mysql_connect($hostname,$username,$password) or die("Не можу під'єднатися "); /* Вибір БД */ mysql_select_db("$dbName") or die("Не можу вибрати БД"); /* Введення інформації в БД */ $query="INSERT INTO $usertable VALUES ('$user_name','$phone','$job','$img')"; $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

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