Page 148 - 4636
P. 148
Лістинг 8.2. results.php - витягує результати запиту з бази даних MySQL і форматує їх для
відображення
<html><head><title>Maгазин "Буквофил" - Результати
пошуку</title></head><body><h1>Магазин "Буквофил" - Результати
пошуку</h1><?php// створення коротких імен змінних $searchtype =
$searchtype=$_POST[’searchtype'];$Searchterm = trim($_POST['searchterm'
)) ;
if ( ! SearchtypeII !$searchterm) {echo 'Ви не ввели параметри пошуку.
Поверніться’ .' на попередню сторінку та повторіть введення.';exit;)if
(!get_magic_quotes_gpc()) $searchtype = addslashes($searchtype)
;$searchterm = addslashes ($searchterm) ;)@ $db = new
mysqli('localhost', 'bookorama', 'bookoramal23', 'books');if
(mysqli_connect_errno()) {echo 'Помилка: He вдалося встановити
з'єднання' .' з базою даних. Повторітьспробупізніше.';exit;)$query =
"select * from books where ".&searchtype." like '
%".Ssearchterm.”%’”;Sresult = $db->query(Squery);$num_results =
$result->num_rows;echo "<р>Знайденокниг: " .$num_results."</p>";
for ($i = 0; $i < = $num_results; $i++) {$row = $result->fetch_assoc()
;echo "<p><stropg>".($i+l)." . Назва:еchо htmlspecialchars
(stripslashes($row['title1])) ;echo ”</strong><br />Автор:еchо
stripslashes($row['author']);echo "<br />ISBN:еchо
stripslashes($row['isbn']);echo "<br />Ціна:еchо
stripslashes($row['ціна']); echo "</p>";}$result->free();$db-
>close();</body></html>
Зверніть увагу, що сценарій дозволяє вводити групові символи MySQL: % та (підкреслення). Ця
можливість виключно корисна для користувачів. Якщо згадані символи створюють проблеми у
вашому додатку, їх можна літеризувати.
Результат використання цього сценарію для виконання пошуку показаний на рис. 8.2.
Рисунок 8.2 - Результати пошуку в базі даних книг по Java з допомогою сценарію results. php,
представлені у вигляді веб-сторінки
8.1 Здійснення Інтернет-запитів до бази даних
У будь-якому сценарії, який забезпечує доступ до бази даних, необхідно виконати ряд
елементарних кроків.
1. Перевірити і фільтрувати дані, що надходять від користувача.
145