Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
mysql__ukr_54_22.12.10.doc
Скачиваний:
12
Добавлен:
09.11.2018
Размер:
667.65 Кб
Скачать

5.5 Відбір даних з поєднаних таблиць

Попередні приклади демонстрували операції з однією таблицею бази даних. У наступному прикладі побудуємо запит, що відбирає дані з декількох таблиць. Створимо інтерфейс, який дозволяє переглянути список книг, які на руках у вибраного читача. На відміну від попередніх запитів, форма запиту і відображення результатів будуть поєднані в одному файлі.

<HTML>

<TITLE>Абонемент</TITLE>

<HEAD>

</head>

<BODY>

<form method="POST" action="">

<p><strong>АБОНЕМЕНТ</strong><br>

<select name="nbil">

<option selected>Виберіть читача</option>

<?php

$id=mysql_connect('localhost','root') or die ("Неможна підключитись до серверу");

mysql_select_db('library') or die("неможна вибрать БД");

$res1=mysql_query("SELECT * FROM reader");

while($au=mysql_fetch_row($res1))

{echo "<option value='$au[0]'>$au[0] $au[1]</option>\n";}

echo '</select><input type="submit" name="send" value="Показати список книг"><br><br>';

if(ISSET($_POST['send']))

{

if(ISSET($_POST['nbil'])){$nbil=$_POST['nbil'];}

if(ISSET($_POST['fio'])){$fio=$_POST['fio'];}

$res2=mysql_query("SELECT * FROM reader WHERE n_bil='$nbil'");

$res_fio=mysql_fetch_row($res2);

echo "<strong>Прізвище читача:</strong> ".$res_fio[1]."<br>";

echo "<strong>Список книг:</strong><br>";

$query="SELECT book.autor,book.nazv FROM book,abonement WHERE abonement.n_bil='$nbil' AND abonement.inv=book.inv";

$res3=MYSQL_QUERY($query) or die ('Помилковий запит');

$i=0;

$myrow=mysql_fetch_row($res3) or die ('Книг на руках немає');

do

{$i=$i+1;

echo $i.". " .$myrow[0].". ". $myrow[1] ."<br>";}

While($myrow=mysql_fetch_row($res3));

}

?>

</body>

</html>

Оскільки атрибут форми action має пусте значення, то для обробки форми використовується таж сама сторінка. При першому відкриті сторінки кнопка Submit ще не натиснута, тому змінна send не визначена, і частина коду, яка відображає список книг, виконуватись не буде. Після того, як користувач вибере читача і натисне кнопку Показати список книг, функція ISSET($_POST['send']) буде мати значення True, що відкриває шлях для виконання запиту і виводу результатів

Отже, ми розглянули основні прийоми використання баз даних для створення веб-ресурсів. У другій частині рекомендацій представлені завдання для лабораторних робіт і приклади їх виконання.

Рекомендована література

  1. Хольцнер С. РНР в примерах/ С. Хольцнер; пер. с англ. — М.: ООО «Бином-Пресс», 2007. — 352 с.: ил.

  2. Конверс Т. PHP 5 и MySQL. Библия пользователя/ Конверс Т., Дж. Парк, К. Морган; пер.с англ. - М.: Вильямс, 2007.- 1216 с.

  3. Веллинг Л. MySQL: учеб. пособ./ Л.Веллинг, Л.Томсон; пер. с англ. – М.: Издательский дом «Вильямс», 2005. – 304 с.

  4. Мотев А.А. Уроки MySQL. Самоучитель. – СПб.: БХВ-Петербург, 2006. -208 с.

  5. Ньюман К. Освой самостоятельно PHP. 10 минут на урок/ Ньюман К.; пер. с англ. – М. : Вильямс, 2006. – 272 с.

  6. Шелдон Р. MySQL: базовый курс/ Р.Шелдон, Дж.Мойе; пер. с англ. – М. : Вильямс, 2007. – 880 с.

  7. Дронов В.А. PHP, MySQL и Dreamweaver MX 2004. Разработка интерактивных WEB-сайтов/ Дронов В.А. – СПб.: БХВ-Петербург, 2005. - 448 с.

  8. Ульман Л. MySQL/ Ульман Л. – СПб.: БХВ-Петербург, 2004. -352 с.

  9. Кузнецов М.В. Самоучитель MySQL 5/ Кузнецов М.В. – СПб.: БХВ-Петербург, 2007. -560 с.

  10. Харрис Э. PHP/ MySQL для начинающих / Харрис Э.; пер. с англ. –М.: КУДИЦ- ОБРАЗ, 2005. – 384 с.

  11. Колисниченко Д.Н. Самоучитель PHP 5/ Колисниченко Д.Н. - СПб.: Наука, 2005. – 653 с.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]