Материал: Базы данных. Лабораторная работа 8

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

</head>

<body>

<?

$conn = mysqli_connect($hostname, $username, $password, $db) or die(mysqli_connect_error($conn));

mysqli_set_charset($conn, "utf8");

$query = "SELECT * FROM sections ORDER BY id"; $result = mysqli_query($conn, $query);

echo "<form action='library.php' method='post' name='sections_form'>Жанры:";

echo "<select name='section'>";

$select_section = ($_POST["section"] == "") ? 1 : $_POST["section"]; for ($i = 0, $size = mysqli_num_rows($result); $i < $size; ++$i) {

$assoc_array = mysqli_fetch_assoc($result);

echo "<option value='" . $assoc_array['id'] . ($i + 1 == $select_section ? "' selected>" : "'>") . $assoc_array['name'] . "</option>";

}

echo "<input type='submit' value='Поиск...'/></select></form>"; echo "Результаты поиска:";

echo "<table border='1' cols='4' cellpadding='0' cellspacing='0'>"; echo "<tr><td>Обложка</td><td>Название</td><td>Автор</td><td>Описание</

td></tr>";

$section_id = ($_POST["section"] != "") ? $_POST["section"] : 1; $query = "SELECT * FROM books WHERE section_id = $section_id ORDER BY

id";

$result = mysqli_query($conn, $query); while ($row = mysqli_fetch_assoc($result)) {

echo "<tr><td>" . ($row["image"] == "" ? "No image" : "<img width='80' src='" . $row["image"] . "'></img>") . "</td>";

echo "<td>" . $row["name"] . "</td>"; echo "<td>" . $row["author"] . "</td>";

echo "<td>" . $row["description"] . "</td>"; echo "</tr>";

}

echo "</table>"; mysqli_close($conn); ?>

</body>

</html>

Откроем веб-страницу в браузере (рис. 3): http://ikpi85.rf.gd/library.php

Рисунок 3 — Книги жанра «Биографии и мемуары» 6

Выберем жанр «Фантастика» и нажмем кнопку «Поиск...» (рис. 4).

Рисунок 4 — Книги жанра «Фантастика» Выберем жанр «Информационные технологии» и нажмем кнопку

«Поиск...» (рис. 5).

Рисунок 5 — Книги жанра «Информационные технологии» Выводы

PHP — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических вебсайтов. Язык и его интерпретатор (Zend Engine) разрабатываются группой энтузиастов в рамках проекта с открытым кодом.

Работа происходит следующим образом. Сервер получает от клиента запрос (request), выполняет PHP-скрипт (в соответствии с запросом) при помощи интерпретатора, а затем отсылает клиенту ответ (response).

7

Название переменной в PHP всегда начинается со знака доллара. Например, $count. Тип переменной явно не указывается и может меняться по ходу выполнения скрипта.

Конкатенация строк осуществляется при помощи знака точки. Например, "Hello, " . "world" даст в результате строку "Hello, world".

Однострочный комментарий начинается со знаков // Многострочный комментарий начинается со знаков /* и заканчивается

знаками */

8