Практическое занятие № 19
Тема: Работа с базой
данных MySQL
Цель работы: получить практические навыки по работе с таблицами СУБД MySQL
Ход работы
Пусть имеется база данных "baza" в формате MySQL, в которой имеется таблица "phone" для хранения данных о телефонах жителей города:
|
Имя поля |
Тип |
Размер |
|
id |
integer |
целое, ключевое, счетчик |
|
fam |
varchar |
20 |
|
imya |
varchar |
20 |
|
otch |
varchar |
20 |
|
ulica |
varchar |
20 |
|
dom |
integet |
|
|
bukva |
varchar |
1 |
|
kvart |
integer |
|
|
phone |
varchar |
15 |
Создайте страницу для работы с таблицей. Страница должна иметь вид:

Указания: для работs с данными таблицы создадим PHP файл, в который поместим код подключения к БД. Для этого в папке localhost/www создайте папку baza, а в нее поместите файл с именем connect.php и текстом вида:
Над таблицей располагаются кнопки для выполнения основных операций над данными. В редакторе FrontPage на пустую страницу добавьте форму, в атрибуте action удалите текст и удалите комментарий после тега form. На форме разместите на ней четыре кнопки типа "submit" с соответствующими записями и именами с "В1" до "В4".
Страница должна отображать в данные телефонного справочника порциями по 20 записей. При этом переход по порциям выполняется с помощью ссылок, расположенных над таблицей.
Для правильного отображения таких ссылок нужно подсчитать количество записей в таблице БД, и затем выдать нужные ссылки.
Вначале перед формой добавьте код подключения к БД:
<? //подключаемся к БД
include ('connect.php');?>
Под тегами кнопок добавьте код формирования ссылок для перехода по записям:
Теперь осталось отобрать нужную порцию данных из таблицы и вывести ее в виде таблицы. При этом для выполнения операций над записью (редактирование или удаление) в первой колонке таблицы будем выводить переключатели для отметки нужной строки.
Для формирования гиперссылок над таблицей добавим код вида:

Каждая кнопка над таблицей фактически выполняет некоторое действие и пытается перезагрузить страницу. Чтобы действия выполнялись до перезагрузки нужно поместить код обработки кнопок до формы.
У нас есть вверху вставка для подключения к БД. Добавим в нее код вида:


Сохраните созданную страницу под именем index.php. Для проверки работы страницы запустите браузер и введите команду:
localhost/baza
Проверьте работы ссылок и кнопки "Удалить".
Создание страницы для добавления и редактирования записи
Для добавления или редактирования записи будем использовать файл record.php, которая имеет вид:

Указания: создайте новый файл, на котором разместите форму с 8 полями для ввода данных и именами с "Т1" по "Т8". Ниже разместите кнопки типа "submit" и именами "В1" и "В2".
Над формой добавьте код, который подключает файл к БД, находит нужную запись, если выбран режим редактирования.
Для этого в начало страницы введите код:
<?
//подключаемся к БД
include ('connect.php');
//если был передан параметр id
if ($_GET['id'])
{
//находим запись с заданным id
$rez = mysql_query('select
* from phone where id='.$_GET['id']);
//в переменную $row записываем найденную запись как массив
$row = mysql_fetch_assoc($rez);
}
?>
Для того, чтобы в полях отображались данные из текущей записи в теге каждого поля добавьте атрибут вида:
value="<?echo $row['fam'];?>" //в остальных полях формы измените имя поля таблицы
Обработку кнопок выполним до перезагрузки формы, следовательно, вверху страницы в PHP фрагмент добавьте код:
Сохраните страницу под именем record.php. Проверьте на странице работу кнопок "Добавить" и "Редактировать".
Создание страницы для поиска данных
Кнопка Найти должна открывать станицу вида:

Пользователь заполняет нужные поля для поиска. По щелчку на кнопке ниже отображаются найденные записи.
Указания: создайте новый файл, на котором разместите форму с 8 полями для ввода данных и именами с "Т1" по "Т8". Ниже разместите кнопки типа "submit" и именами "В1" и "В2".
Для сохранения введенных данных в каждом поле в тег поля добавьте атрибут вида:
value="<?echo $_POST['T1'];?>" //и т.д.
Над формой введем код, который подключит страницу к БД и обработает нажатия на кнопки формы.
Если нажата кнопка "Найти", то нужно проверить, какие поля на форме заполнил пользователь и сформировать условие поиска для отбора данных.
Если нажата кнопка "Отмена", то нужно вернуться на главную страницу с порцией n.
Найденные записи будем отображать под таблицей, поэтому нужный код поиска и отображение поместим под формой.
Сохраните страницу под именем find.php. Проверьте работу всех функций страницы.