- •Методичні вказівки
- •«Проектування інформаційних ресурсів Інтернет»
- •6.040303 «Системний аналіз»
- •3.3 Завантаження дампа в базу 28
- •4 Короткі теоретичні відомості про php 30
- •1 Набір web-розробника denwer
- •1.1 Призначення та склад denwer
- •1.2 Інсталяція дистрибутива
- •1.3 Робота з віртуальними хостами
- •2 Система керування базами даних mysql
- •2.1 Загальні положення
- •2.2 Установка MySql
- •2.3 Поля і їхні типи в MySql
- •Цілочисельні типи даних
- •Дійсні числа
- •Рядкові типи
- •Бінарні типи даних
- •Дата та час
- •2.4 Оператори та команди MySql
- •Сортування записів
- •Внутрішні функції min, max, avg, sum
- •Групування записів
- •Видалення полів і таблиць. Оператор drop
- •Відключення від субд
- •3 Розробка й редагування бд за допомогою phpmyadmin
- •3.1 Створення бд і таблиць за допомогою phpMyAdmin.
- •3.2 Резервне копіювання бд
- •3.3. Завантаження дампа в базу
- •4 Короткі теоретичні відомості про php
- •4.1 Основні положення
- •Привіт, я - скрипт php!
- •4.3 Типи даних (змінних) в php
- •4.4 Оператори
- •Арифметичні оператори
- •Порозрядні оператори
- •Логічні оператори
- •Оператори рівності
- •Оператори порівняння
- •Інкремент і декремент
- •Оператори присвоєння
- •Логічний оператор if ...Else
- •Оператор switch
- •Оператор циклу із передумовою
- •Оператор циклу з післяумовою
- •Універсальний цикл for
- •4.5 Функції рнр
- •5.1 Рнр функції для роботи з MySql
- •5.2 Виведення даних з таблиці
- •5.3 Додавання даних у бд
- •5.4 Видалення даних із бд
- •5.5 Відбір даних з поєднаних таблиць
- •Рекомендована література
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, що відкриває шлях для виконання запиту і виводу результатів
Отже, ми розглянули основні прийоми використання баз даних для створення веб-ресурсів. У другій частині рекомендацій представлені завдання для лабораторних робіт і приклади їх виконання.
Рекомендована література
-
Хольцнер С. РНР в примерах/ С. Хольцнер; пер. с англ. — М.: ООО «Бином-Пресс», 2007. — 352 с.: ил.
-
Конверс Т. PHP 5 и MySQL. Библия пользователя/ Конверс Т., Дж. Парк, К. Морган; пер.с англ. - М.: Вильямс, 2007.- 1216 с.
-
Веллинг Л. MySQL: учеб. пособ./ Л.Веллинг, Л.Томсон; пер. с англ. – М.: Издательский дом «Вильямс», 2005. – 304 с.
-
Мотев А.А. Уроки MySQL. Самоучитель. – СПб.: БХВ-Петербург, 2006. -208 с.
-
Ньюман К. Освой самостоятельно PHP. 10 минут на урок/ Ньюман К.; пер. с англ. – М. : Вильямс, 2006. – 272 с.
-
Шелдон Р. MySQL: базовый курс/ Р.Шелдон, Дж.Мойе; пер. с англ. – М. : Вильямс, 2007. – 880 с.
-
Дронов В.А. PHP, MySQL и Dreamweaver MX 2004. Разработка интерактивных WEB-сайтов/ Дронов В.А. – СПб.: БХВ-Петербург, 2005. - 448 с.
-
Ульман Л. MySQL/ Ульман Л. – СПб.: БХВ-Петербург, 2004. -352 с.
-
Кузнецов М.В. Самоучитель MySQL 5/ Кузнецов М.В. – СПб.: БХВ-Петербург, 2007. -560 с.
-
Харрис Э. PHP/ MySQL для начинающих / Харрис Э.; пер. с англ. –М.: КУДИЦ- ОБРАЗ, 2005. – 384 с.
-
Колисниченко Д.Н. Самоучитель PHP 5/ Колисниченко Д.Н. - СПб.: Наука, 2005. – 653 с.