/
bulkin
/
PreDiplomPractic
Обзор
Документация
Войти
/
bulkin
/
PreDiplomPractic
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
view.php
106 строк
4 KB
ArchBulat
init
12 май 2026, 12:29
12 май 2026, 12:29
880a7fa
Код
Авторство
О чём код?
<?php require_once __DIR__ . '/functions.php'; $sortOptions = get_sort_options(); $orderOptions = get_order_options(); $sortKey = $_GET['sort'] ?? 'name'; $orderKey = $_GET['order'] ?? 'asc'; $sortMap = ['name' => 'familia', 'age' => 'vozrast']; $orderMap = ['asc' => 'ASC', 'desc' => 'DESC']; $sortColumn = $sortMap[$sortKey] ?? 'familia'; $orderDirection = $orderMap[$orderKey] ?? 'ASC'; $pdo = getConnection(); $sql = "SELECT num_id, familia, imya, gorod, adres, telefon, mesto_raboti, dolzhnost, vozrast FROM anketa1 ORDER BY $sortColumn $orderDirection"; $stmt = $pdo->query($sql); $records = $stmt->fetchAll(); log_action("Просмотр списка анкет: сортировка $sortKey, порядок $orderKey"); ?> <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Список анкет</title> <link rel="stylesheet" href="style.css"> </head> <body> <header> <div class="logo"> <div class="logo-icon">СП</div> <div> <h1>Список анкет</h1> <p>Динамический просмотр записей из таблицы <code>anketa1</code>.</p> </div> </div> <nav> <a href="index.php">Главная</a> <a href="form.html">Форма</a> <a href="view.php">Список анкет</a> </nav> </header> <main> <section class="banner"> <h2>Управление данными</h2> <p>Сортировка по фамилии и возрасту реализована серверно через безопасный SQL-запрос.</p> <div style="display:grid; gap:12px; max-width:720px;"> <div> <strong>Сортировать по:</strong> <?php foreach ($sortOptions as $key => $label): ?> <a class="button-secondary" href="view.php?sort=<?php echo $key; ?>&order=<?php echo $orderKey; ?>"><?php echo $label; ?></a> <?php endforeach; ?> </div> <div> <strong>Порядок:</strong> <?php foreach ($orderOptions as $key => $label): ?> <a class="button-secondary" href="view.php?sort=<?php echo $sortKey; ?>&order=<?php echo $key; ?>"><?php echo $label; ?></a> <?php endforeach; ?> </div> </div> <table> <thead> <tr> <th>ID</th> <th>Фамилия</th> <th>Имя</th> <th>Город</th> <th>Адрес</th> <th>Телефон</th> <th>Место работы</th> <th>Должность</th> <th>Возраст</th> </tr> </thead> <tbody> <?php if (count($records) === 0): ?> <tr><td colspan="9">Записей нет.</td></tr> <?php else: ?> <?php foreach ($records as $item): ?> <tr> <td><?php echo htmlspecialchars($item['num_id'], ENT_QUOTES, 'UTF-8'); ?></td> <td><?php echo htmlspecialchars($item['familia'], ENT_QUOTES, 'UTF-8'); ?></td> <td><?php echo htmlspecialchars($item['imya'], ENT_QUOTES, 'UTF-8'); ?></td> <td><?php echo htmlspecialchars($item['gorod'], ENT_QUOTES, 'UTF-8'); ?></td> <td><?php echo htmlspecialchars($item['adres'], ENT_QUOTES, 'UTF-8'); ?></td> <td><?php echo htmlspecialchars($item['telefon'], ENT_QUOTES, 'UTF-8'); ?></td> <td><?php echo htmlspecialchars($item['mesto_raboti'], ENT_QUOTES, 'UTF-8'); ?></td> <td><?php echo htmlspecialchars($item['dolzhnost'], ENT_QUOTES, 'UTF-8'); ?></td> <td><?php echo htmlspecialchars($item['vozrast'], ENT_QUOTES, 'UTF-8'); ?></td> </tr> <?php endforeach; ?> <?php endif; ?> </tbody> </table> </section> </main> <footer> <p>Сортировка и вывод данных из таблицы anketa1.</p> </footer> </body> </html>