</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