Практическое занятие № 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. Проверьте работу всех функций страницы.