Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаба8.docx
Скачиваний:
1
Добавлен:
28.05.2023
Размер:
1.55 Mб
Скачать

Министерство науки и высшего образования Российской Федерации

Федеральное государственное автономное образовательное учреждение

высшего образования

«Омский государственный технический университет»

Кафедра «Комплексная защита информации»

ОТЧЕТ

к лабораторной работе № 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: /');»

Соседние файлы в предмете Базы данных