Разработка приложений БД на cервере MySQL с помощью PHP
Стр 1 из 2Следующая ⇒ КОНТРОЛЬНАЯ РАБОТА по дисциплине «Web программирование»
Вариант 2
Выполнил Студент группы ИТ 07-1 зт Шелест М.В.
Проверил Алтухов А.В.
Краматорск 2012
Задание №1 Разработка приложений с помощью PHP Цель работы: получить практические навыки развертывания и базовой настройки АМР-платформы, изучить функции PHP для получения данных формы, работы со строками и массивами. Задание к работе: - Ознакомиться с теоретическим материалом. - Cоздать скрипт на php для выполнения ввода информации в элементы формы, обработать введены данные, выдать информацию пользователю. Использовать элементы диалога таблицы 1. - Оформить отчет согласно требованиям.
Таблица 1- Индивидуальное задание для выбора элементов диалога
Ход работы: 1.Создадим html форму:
<form action="lab1.php" method="post"> Enter name: <input type="text" name="name"> <br> Select country: <select name="country"> <option value="ua">Ukraine</option> <option value="ru">Russia</option> <option value="uk">United Kingdum</option> </select> <input type="submit" name="send" value="Send data"> </form> 2. Создадим php обработчик формы: <?php $method = $_SERVER["REQUEST_METHOD"]; $name=$_REQUEST["name"]; $country_label = $_REQUEST['country'];
if($country_label == 'ua'){ $country = 'Ukraine'; } if($country_label == 'ru'){ $country = 'Russia'; } if($country_label == 'uk'){ $country = 'United Kingdum'; } echo "<br>Your name: ". $name; echo "<br>You country: ". $country;?> В результате получим html форму и так как обработчик формы равен url этой же форме, то при отправке полей в этой же форме ниже отобразится введенная информация:
Задание №2 Работа с файлами в PHP Цель работы: получить практические навыки работы с файлами и директориями с помощью PHP.
Задание к работе: - Ознакомиться с теоретическим материалом. - Cоздать скрипт на php для выполнении индивидуального задания (варианты 1-5 решают задачу 1, варианты 6-10 решают задачу 2, варианты 11-15 решают задачу 3, варианты 16-20 решают задачу 4). Использовать элементы диалога таблицы 1. - Оформить отчет согласно требованиям.
1 Создать скрипт для работы гостевой книги: использовать указанные элементы диалога для ввода информации о пользователях сайта и оставляемых комментариях, которая будет записывается в файл. Создать страницу с просмотром всех сообщений. 2 Создать текстовый файл с информацией о товарах (название, цена, фирма), в котором отдельная строка соответствует одному товару. Создать скрипт, который выводит на страницу прайс товаров с возможностью заказа товара по нажатию кнопки возле соответствующей строки. При заказе товара, обязательно пользователь вводит свое имя и требуемое количество товара. Список заказов хранить в другом файле, например “zakazi.txt”. Использовать следующую функцию для разбития строки файла на составляющие: list($name,$price)= split (":", $srt,2); 3 Создать список файлов указанной директории, с указанием размеров каждого файла и датой последнего обращения к файлу. Полученную информацию записать в файл statistic_files.txt. 4 В выбранном файле подсчитать кол-во ссылок, таблиц и рисунков.
Ход работы:
1.Создадим основную страницу на которой пользователь может ввести свои данные и сообщение:
<form action="lab2_write_to_file.php" method="post"> Enter name: <input type="text" name="name" /> <br> Select country: <select name="country"> <option value="ua">Ukraine</option> <option value="ru">Russia</option> <option value="uk">United Kingdum</option> </select> <br> Enter you message please: <br/> <textarea name="message" cols="30" rows="10"></textarea> <br/> <input type="submit" name="send" value="Send data">
</form>
<? $baseUrl = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/';?> <a href="<?= $baseUrl. 'lab2_view_all_records.php'?>">View all messages</a>
2.После отправки сообщения все данные будут записаны в файл и будет выведено сообщение об успешной записи(lab2_write_to_file.php)
<?php
$name = $_REQUEST["name"]; $country_label = $_REQUEST['country']; $message = $_REQUEST['message'];
$file = fopen("lab2.txt", "a"); $test = fwrite($file, $name. '||'. $country_label. '||'. $message. "\r\n");
if ($test){ echo 'Data was writing successfully.'; } else { echo 'Error.'; } fclose($file);
$baseUrl = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/';
?>
<a href="<?= $baseUrl. 'lab2.php'?>">Back</a>
3.Также на главной странице есть ссылка на просмотр всех записей гостевой книги. Там в свою очередь формируется html таблица из файла гостевой книги. Листинг: <? if(file_exists('lab2.txt')):?> <?$arr = file("lab2.txt");?> <table border="1"> <tr> <td>Name</td> <td>Country</td> <td>Message</td> </tr> <? foreach($arr as $string):?> <tr> <? $part = explode('||', $string)?> <? $name = $part[0];?> <? $country = $part[1];?> <? $message = $part[2];?> <td><?=$name?></td> <td><?=$country?></td> <td><?=$message?></td> </tr> <? endforeach;?> </table> <?else:?> <?= 'file dose not exist';?> <?endif;?>
<a href="<?= $baseUrl. 'lab2.php'?>">Back</a>
Задание №3 Разработка приложений БД на cервере MySQL с помощью PHP Цель работы: изучить настройки сервера БД MySQL, возможности подключения к БД с помощью PHP Задание к работе: - Ознакомиться с теоретическим материалом. - Создать БД согласно варианту (предметную область взять из табл. 2) - Разработать структуру таблиц - Создать скрипт на php для просмотра записей таблиц, поиска по критерию, добавления информации, удаления записей и изменения информации - Оформить отчет согласно требованиям. Таблица 2 – Индивидуальное задание
Ход работы: 1.Создадим БД mysql используя phpmyadmin. В данной БД создадим таблицу с наименованием оборудования: equipment
CREATE TABLE IF NOT EXISTS `equipment` ( `id` int(11) NOT NULL AUTO_INCREMENT, `type` varchar(255) NOT NULL, `full_name` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=10;
2.Для отображения всего списка оборудования будем использовать главный файл lab3.php. Листинг приведен ниже: <? $connect = mysql_connect('localhost', 'root', ''); mysql_select_db('lab_2');
$result = mysql_query('SELECT * FROM equipment'); $baseUrl = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']); ?> <style type="text/css"> .btn{ float:right; } </style> <div style="width: 600px; margin: 0px auto;"> <table border="1" > <thead> <caption>Equipment list</caption> <th>id</th> <th>type</th> <th>full name</th> <th width="100">action</th> </thead> <tbody> <? while ($row = mysql_fetch_array($result)):?> <tr> <td><? echo $row["id"];?></td> <td><? echo $row["type"];?></td> <td><? echo $row["full_name"];?></td> <td><a href="<?= $baseUrl. '/lab_3_edit.php?id='. $row['id'];?>">Edit | </a> <a href="<?= $baseUrl. '/lab_3_delete.php?id='. $row['id'];?>">Delete</a> </td> </tr> <? endwhile;?> <tr> <form action="lab3_search.php" method="post" name="id_search"> <td><input type="text" size="4" name="id"> <input type="submit" name="submit_id" value="Find" class="btn"> </form> <form action="lab3_search.php" method="post" name="type_search"> <td><input type="text" size="15" name="type"> <input type="submit" name="submit_type" value="Find" class="btn"> </form> <form action="lab3_search.php" method="post" name="name_search"> <td><input type="text" size="40" name="full_name"> <input type="submit" name="submit_name" value="Find" class="btn"> </form> <td></td> </tr> </tbody> </table> <a href="<?=$baseUrl. '/lab_3_add.php'?>">Add new</a> </div>
На экране это выглядит следующим образом: На данном рисунке изображен список оборудования. Также ссылки для добавления/удаления/редактирования элементов. Для каждого поля (id, type, full name) реализован поиск по значению (для поиска необходимо ввести в соответствующее поле значение и нажать кнопку find).
3. Реализация поиска по значению полей: На рисунке ниже показан поиск по значению id=1:
Листинг поиска по значению(файл lab3_search.php): <? $data = $_POST; if($value = $data['submit_id']){ $field = 'id'; } if($data['submit_type']){ $field = 'type'; } if($data['submit_name']){ $field = 'full_name'; }
$connect = mysql_connect('localhost', 'root', ''); mysql_select_db('lab_2'); $table = 'equipment'; $condition = ' WHERE '. $field. '="'. $data[$field]. '"'; $result = mysql_query('SELECT * FROM '. $table. $condition); ?> <div style="width: 600px; margin: 0px auto;"> <table border="1" width="600" style="margin: 0px auto;">
<thead> <th>id</th> <th>type</th> <th>full name</th> </thead> <tbody> <? while ($row = mysql_fetch_array($result)):?> <tr> <td><? echo $row["id"];?></td> <td><? echo $row["type"];?></td> <td><? echo $row["full_name"];?></td> </tr> <? endwhile;?> </tbody> </table>
<div id="navigation" style=""> <a href="javascript:history.back()">Back</a> </div> </div>
4. Реализация добавления новых записей в бд (файл lab_3_add.php): <?if(!$_POST):?> <form action="lab_3_add.php" method="post"> <label for="type">Type of equipment</label> <input type="text" id="type" name="type"/><br> <label for="full_name">Full name of equipment</label> <input type="text" id="full_name" name="full_name"/><br> <input type="submit" value="Add"/> </form> <?else:
$connect = mysql_connect('localhost', 'root', ''); if (!$connect) die('connection error!'); mysql_select_db('lab_2', $connect); $table = 'equipment'; mysql_query('INSERT INTO '. $table. ' (type, full_name) VALUES ("'. $_POST['type']. '", "'. $_POST['full_name']. '")'); $baseUrl = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']). '/'; mysql_close($connect); $redirectUrl = $baseUrl. 'lab3.php'; header ("Location: ". $redirectUrl);
endif;?>
Результат показан на рисунке ниже:
5.Реализация редактирования записей БД. Для редактирования записи необходимо нажать на ссылку «Edit» соответствующей записи. Форма редактирования аналогична форме добавления новой записи. Листинг приведен ниже (lab_3_edit.php):
<? if($_POST):
$connect = mysql_connect('localhost', 'root', ''); if (!$connect) die('connection error!'); mysql_select_db('lab_2', $connect); $table = 'equipment';
mysql_query('UPDATE '. $table. ' SET type="'. $_POST['type']. '", full_name="'. $_POST['full_name']. '" WHERE id="'. $_POST['id']. '"');
$baseUrl = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']). '/'; mysql_close($connect); $redirectUrl = $baseUrl. 'lab3.php'; header ("Location: ". $redirectUrl); endif; ?>
<? if ($_GET['id']):
$connect = mysql_connect('localhost', 'root', ''); if (!$connect) die('connection error!'); mysql_select_db('lab_2', $connect); $table = 'equipment'; $result = mysql_query('SELECT * FROM '. $table. ' WHERE id="'. $_GET['id']. '"'); $row = mysql_fetch_array($result); ?>
<form action="lab_3_edit.php" method="post"> <label for="type">Type of equipment</label> <input type="text" id="type" name="type" value="<?=$row['type']?>" /><br> <label for="full_name">Full name of equipment</label> <input type="text" id="full_name" name="full_name" value="<?=$row['full_name']?>" /><br> <input type="hidden" name="id" value="<?=$row['id']?>" /> <input type="submit" value="Add"/> </form>
<? endif;?>
5. Удаление записей происходит путем нажатия напротив соответствующей записи кнопки «Delete». Листинг lab_3_delete.php: <? if ($_GET['id']):
$connect = mysql_connect('localhost', 'root', ''); if (!$connect) die('connection error!'); mysql_select_db('lab_2', $connect); $table = 'equipment'; mysql_query('DELETE FROM '. $table. ' WHERE id="'. $_GET['id']. '"');
$baseUrl = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']). '/'; mysql_close($connect); $redirectUrl = $baseUrl. 'lab3.php'; header ("Location: ". $redirectUrl);
?> <? endif;?> Задание №4
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|