Министерство науки и высшего образования Российской Федерации
Федеральное государственное автономное образовательное учреждение
высшего образования
«Омский государственный технический университет»
Кафедра «Комплексная защита информации»
ОТЧЕТ
к лабораторной работе № 8
по дисциплине «Базы данных»
|
Выполнили студенты: гр. …………. Проверил: Доц., к.н. Самотуга А. Е. |
Омск 2022
Ход работы:
Рис. 1 Страница авторизации
Рис. 2 Создание таблицы
Рис. 3 Проверка наличия БД
Рис. 4 Перезапуск локального сервера
Рис. 5 Запуск проекта
Рис. 6 Создание файла «index.php»
Рис. 7 Проверка работы PHP
Рис. 8 Подключение к сайту
Рис. 9 Добавление данных
Рис. 10 Проверка наличия данных
Рис. 11 Подключение к БД
Рис. 12 Успешное подключение
Рис. 13 Ввод неправильных параметров для проверки
Рис. 14 Ошибка подключения
Рис. 15 Создание каталога «config» и добавление в него файла «connect.php»
Рис. 16 Подключение к бд файла «connect.php»
Рис. 17 Скрипт на добавление таблицы
Рис. 18 Создание стилей таблицы
Рис. 19 Создание стилей таблицы
Рис. 20 Подключение файла «style.css»
Рис. 21 Добавление заголовков и данных таблицы
Рис. 22 Результат
Рис. 23 Скрипт на вывод всех данных из бд
Рис. 24 Результат
Рис. 25 Форма для добавление новых данных
Рис. 26 Результат
Рис. 27 Скрипт на добавление новых данных
Рис. 28 Заполнение строк для добавления данных в БД
Рис. 29 Успешное добавление данных
Рис. 30 Создание ссылки на обновление для каждой строки таблицы
Рис. 31 Создание идентификатора для каждой строки таблицы
Рис. 32 Проверка наличия идентификатора
Рис. 33 Форма для обновления существующих данных
Рис. 34 Скрипт на обновление существующих данных
Рис. 35 Заполнение строк для обновления БД
Рис. 36 Обновленная таблица
Рис. 37 Форма на удаление данных
Рис. 38 Скрипт на удаление данных
Рис. 39 Обновленная таблица
Рис. 40 Удаление строки
Рис. 41 Проверка удаления
Рис. 42 Создание таблицы «группы»
Рис. 43 Добавление кнопки для просмотра списка запросов
Рис. 44 Список запросов
Рис. 45 Запрос на вывод списка студентов группы КЗИ-212
Рис. 46 Запрос на вывод списка студентов группы КЗИ-211
Рис. 47 Запрос на вывод списка студентов группы БИТ-211
Рис. 48 Запрос на сортировку фамилий по алфавиту
Рис. 49 Страница с запросами
Рис. 50 Страница запроса на просмотр всех студентов КЗИ-212
Рис. 51 Страница запроса на вывод фамилий в алфавитном порядке
Вывод: В ходе лабораторной работы получилось создать сайт, с помощью которого можно редактировать создать в phpMyAdmin базу данных. Использовалась модель CRUD – добавление, чтение, обновление, удаление данных, находящихся в БД. Так же были освоены языки php и html для написания скриптов и сайтов.
Исходный код
Index.Php(главная страница)
«<?php
require_once 'config/connect.php';
$students = mysqli_query($connect, "SELECT * FROM `students`");
$students = mysqli_fetch_all($students);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/style.css">
<title>Студенты</title>
</head>
<body>
<table>
<tr>
<th>id</th>
<th>Имя</th>
<th>Фамилия</th>
<th>Отчество</th>
<th>Группа</th>
<th>✎</th>
<th>✖</th>
</tr>
<?php
foreach($students as $item) {
?>
<tr>
<td><?= $item[0] ?></td>
<td><?= $item[1] ?></td>
<td><?= $item[2] ?></td>
<td><?= $item[3] ?></td>
<td><?= $item[4] ?></td>
<td><a href="update.php?id=<?= $item[0] ?>"> Обновить </a></td>
<td><a href="vendor/delete.php?id=<?= $item[0] ?>"> Удалить </a></td>
</tr>
<?php
}
?>
</table>
<h2> Добавить новую запись </h2>
<form action="vendor/create.php" method="post">
<p> Имя </p>
<input type="text" name="name">
<p> Фамилия </p>
<input type="text" name="surname">
<p> Отчество </p>
<input type="text" name="middlename">
<p> Группа </p>
<input type="text" name="group">
<button type="submit"> Добавить </button>
</form>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Кнопка</title>
</head>
<body>
<form action="../request.php" target="_blank">
<button>Список запросов</button>
</form>
</body>
</html>»
Connect.php(подключение к бд)
«<?php
$connect = mysqli_connect('localhost', 'root', '', 'University');
if(!$connect) {
die('Ошибка подключения к базе данных');
}»
Style.css (стили)
«* {
font-family: sans-serif;
box-sizing: border-box;
}
th, td {
font-size: 18px;
padding: 10px;
}
th {
background: rgb(230, 148, 246);
color: rgb(12, 12, 12);
}
td {
background: #eee;
}
a {
text-decoration: none;
transition: 0.2s ease;
color: rgb(102, 4, 209);
}
td:nth-child(7) > a {
color: red;
}
a:hover {
opacity: 0.7;
}
p {
font-style: italic;
}
input, textarea, button {
padding: 10px;
display: block;
min-height: 30px;
width: 250px;
margin-bottom: 10px;
}
textarea {
resize: vertical;
height: 80px;
}
button {
text-transform: uppercase;
font-weight: bold;
cursor: pointer;
}»
Update.php(форма на обновление данных)
«<?php
require_once 'config/connect.php';
$students_id = $_GET['id'];
$student = mysqli_query($connect, "SELECT * FROM `students` WHERE id = '$students_id'");
$student = mysqli_fetch_assoc($student);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/style.css">
<title> Обновить данные </title>
</head>
<body>
</body>
</html>
<h2> Обновить данные </h2>
<form action="vendor/update.php" method="post">
<input type="hidden" name="id" value="<?= $students_id ?>">
<p> Имя </p>
<input type="text" name="name" value= "<?= $student['name'] ?>">
<p> Фамилия </p>
<input type="text" name="surname" value= "<?= $student['surname'] ?>">
<p> Отчество </p>
<input type="text" name="middlename" value= "<?= $student['middlename'] ?>">
<p> Группа </p>
<input type="text" name="group" value ="<?= $student['group'] ?>">
<button type="submit"> Обновить </button>
</form>
</body>
</html>»
Update.php (запрос на обновление данных)
«<?php
require_once '../config/connect.php';
$name = $_POST['name'];
$surname = $_POST['surname'];
$middlename = $_POST['middlename'];
$group = $_POST['group'];
$id = $_POST['id'];
mysqli_query($connect, "UPDATE `students` SET `name` = '$name', `surname` = '$surname', `middlename` = '$middlename', `group` = '$group' WHERE `students`.`id` = '$id'");
header('location: /');»
Delete.php(удаление данных)
«<?php
require_once '../config/connect.php';
$id = $_GET['id'];
mysqli_query($connect, "DELETE FROM `students` WHERE id = '$id'");
header('location: /');»
Create.php(добавление данных)
«<?php
require_once '../config/connect.php';
$name = $_POST['name'];
$surname = $_POST['surname'];
$middlename = $_POST['middlename'];
$group = $_POST['group'];
mysqli_query($connect, "INSERT INTO `students` (`id`, `name`, `surname`, `middlename`, `group`) VALUES (NULL, '$name', '$surname', '$middlename', '$group')");
header('location: /');»