УДК 004
Воробьев И.Р. студент бакалавриата 4 курса
ПГУТИ Россия, г. Самара Морозов Д.Д. студент бакалавриата 4 курса
ПГУТИ Россия, г. Самара Буранова М.А., д.тн профессор
кафедра «Информационная безопасность»
ПГУТИ Россия, г. Самара
ПОДКЛЮЧЕНИЕ БАЗЫ ДАННЫХ К ВЕБ-СЕРВЕСУ И ВЫПОЛНЕНИЕ БАЗОВЫХ ЗАПРОСОВ SQL
Аннотация. В статье подробно рассмотрен процесс реализации подключения базы данных к веб-сервису. Он заключается во взаимодействии с самой актуальной на данный момент базой данных MySQL. Процесс реализации выполнен на языке php, который доминирует в сфере создания мобильных приложений и является одним из наиболее удобных. Представленный подход может быть рассмотрен для реализации надежного взаимодействия с базами данных, интеграции их с веб-сайтами при наличии у разработчиков базовых знаний в области создания веб-сервисов.
Ключевые слова: скрипт, веб-сервис, база данных, файл.
Vorobiev I.R.
4th year undergraduate student
PGUTI Russia, Samara Morozov D.D.
4th year undergraduate student
PGUTI Russia, Samara Buranova M.A., doctor of technical sciences
professor
Department of Information Security
PGUTI Russia, Samara
CONNECTING THE DATABASE TO THE WEB SERVICE AND RUNNING BASIC SQL QUESTIONS
Annotation. The article discusses in detail the process of implementing a database connection to a web service. It consists of interacting with the most current MySQL database at the moment. The implementation process is carried out in PHP, which dominates in the field of creating mobile applications and is one of the most convenient. The presented approach can be considered for implementing reliable interaction with databases and integrating them with websites if the developers have basic knowledge in the field of creating web services.
Keywords: script, web-service, database, file.
Введение
Поскольку в настоящее время трудно представить сферы человеческой деятельности, где так или иначе не используются веб-приложения или веб-сайты, одним из наиболее актуальных направлений в информационных технологиях является веб-разработка. Примерами их активного использования могут служить такие крупные компании как Ozon, которая имеет совой интернет магазин или VK, которая имеет свою социальную сеть и т.д.
В статье рассматривается самый актуальный на данный момент, и в то же время, самый простой способ подключения базы данных (БД) к веб-сервису, написанному на php. Представлены подходы к выполнению базовых sql запросов, таких как create, read, delete. Данные запросы являются основополагающими в создании любого веб сервиса.
Процедура начинается с главного php-документ создаваемого веб-сервиса, как показано на рисунке 1, тут осуществляется подключение базы данных через функцию «require_once» и указывается скрипт, где находится подключение к созданной БД, то есть выносится подключение к БД в отдельный файл (рисунок 3). На рисунке 2 показана форма, из которой берутся данные для работы с БД.
Затем создается выборка всех элементов из таблицы «goods» и идет запись в переменную «$goods», после чего с помощью функции «mysqli_fetch_all()» возвращается двухмерный массив содержащий все записи, и это записывается в новую переменную «$goods».
Далее создается таблица (с помощью тега <table>) содержащая 4 ячейки в строке и 4 столбца.
Ниже идет цикл «foreach», с помощью которого вставляются новые записи в имеющуюся таблицу, каждую новую запись можно будет удалить (ниже представлена ещё одна - пятая ячейка, в ней будет якорь-кнопка «удалить»).
Логика этого якоря (кнопки) заключается в следующем, после нажатия на созданную якорь-кнопку срабатывает скрипт, показанный на рисунке 4, он удаляет запись из БД и переносит пользователя обратно на родительскую директорию, то есть на основную страничку со всеми записями.
<?php
require олсе 1torfig/connect.php';
igoods = fny^qli queryconnect, "StLECt * FROM g^tKJt'
fgowls = aysqli_fetch_all(ig&«ts>j >>
<!DOCTVPE ht»l>
<fteaii>
<uwta charsei c"Ui f -з" g
пане""viewport" ccntmt*^idth-dev-ii;e->fidthj . initial-seele^lг
<link re1="stylesheet" href^'css/style.css11*
<ime>LRlB</titie>
</head>
<body>
<ta!>le>
<t"r~>
<tli>id-;/tli>
xtfi>liena</th>
</±r>
<
■foreach ($g£wds as iite«> {
itri
фшШр echo ?>f/t<b
<tdx?php <?:£!w Sitee[lJ
<td>i?php ec.ha $it<iai[2J ?></tct>
<td>^?php ec.ho Sit«[3j Px/td>
<td><3 hi-ef-"veriiior/iielete,phi>?id=<?=
i/tr>
<>php
Рис. 1 - «Структура главной страницы»
Здесь используются теги «input» и «textarea» - это поля ввода информации, внутри тега задается параметр «name» для того, чтобы можно было обратиться к полю (в данном случае брать оттуда данные).
<hi>добавить новый товар</И2>
<form action="vendor/create.php" methad="pQst"> <р>Название</р>
<input type="text" name="title"> <р>Описание</р>
<textarea naffie=,,destriptiort"></textarea> <р>Цена</р>
cinput type="number" name="pnice"> <button type="sifbit!it">fltt6aeHTrb</bLitton> </frorc>
</body> </htinl>
Рис. 2 - «Форма ввода на главной странице»
На рисунке 3 идет подключение созданного проекта к базе данных.
Создается переменная, в которую записывается функция «mysqli_connect» и передается имя хостинга, имя пользователя, пароль пользователя, название БД (в данном случае вносится подключение к БД в отдельный файл, чтобы не писать его много раз). Теперь идет подключение этого скрипта к другим файлам, которые будут работать с БД._
pphp
^connect = mysqn_confsect{'localhost*t root'., 'root'j 'crud')! if(i$eonnect){ die('Ошибка подключения к БД');
}
Рис. 3 - «Подключение к БД»
На рисунке 4 написан скрипт, который удаляет выбранную запись. Как говорилось ранее в конце каждой строки идет якорь-кнопка, которая служит для удаления.
В начале подключается скрипт, который хранит подключение к БД, далее идет получение id с помощью глобального массива «$_GET» и это записывается в переменную, после пишется запрос на удаление записи с определенным id и в конце передается сам id. Функция header служит для перенаправления в родительскую директорию, то есть после удаления элемента нас перенесет на начальную страницу веб сервиса.
<?рЬр
iпysql.i_qu#гy(ÍCDnnect> "0Е1ЕТ£ ЁрЩ ¡»оси! 8 КЧЧЕНЕ ^осс^.^э^' - ,$id,"); 11_оса 1:к>Г1: / *);
Рис. 4 -«Скрипт удаления записи»
На рисунке 5 изображена начальная страница веб-сервиса, давайте попробуем заполнить поля ввода и добавить новую запись.
ДОБАВИТЬ
Рис. 5 - «Демонстрация заполнения формы» Изображение созданной БД до выполнения запроса.
^ ^ " □ С ТрОЧ Н ОС □ Ё а Н И Е 3 Ме НИ
Рис. 6 - «Бд»
Изображение созданной БД после выполнения запроса. Видно, что запись успешно добавлена.
ad Нззвание Опксанке Цека
1 Фут^лка Размер 50 - (50.хгюпок 1000 Удалить Добавить новый товар
Описание
Цвн&
добавить
Рис. 7 - «Демонстрация заполненной формы» На рисунке 8 видно, что запись добавилась в БД.
Q <f 1э © ' I Футболка Размер 50 - 60,хлопок 1000
Рис. 8 -«Добавление данных в БД»
На рисунках 9 и 10 изображен файл css для стилизации элементов созданного проекта.
Box-sizing (border-box) — это свойство, которое позволяет задавать размеры элементов, включая отступы и границы без необходимости вычитания их ширины из общего размера. Описание параметров классов Font-family sans-serif - задается шрифт; Padding - задаются отступы со всех сторон; Background - задается фон элемента; Color - нужен для создания цвета текста элемента; Text-decoration none - убирает подчеркивание текста; Transition - управляет продолжительностью движения; Opacity - устанавливает непрозрачность элемента; Font style - стилизация шрифта;
Display block - элемент будет отображаться как блок и занимать всю ширину;
Min height - минимальная высота; Width - ширина;
Margin bottom - отступ внизу элемента;
Resize vertical - указывает, можно ли изменять размеры текстового поля (в данном случае только по вертикали); Height - высота;
Text transform -следит за использованием строчных и прописных букв в тексте;
Font weight - густота (насыщенность) шрифта;
Cursor pointer - задает курсор, указывающий при наведении на объект, что он представляет собой активный элемент. Классы:
* - означает, что задаются параметры всем элементам; Th - заголовочная ячейка; Td - ячейка таблицы; A - якорь (ссылка);
Td:nth-child - псевдо класс, который применяется для изменения первой строки таблицы;
A:hover - действие при наведении;
P - абзац;
Input - поле ввода;
Textarea - область для ввода;
Button - кнопка.
M
font-fsevily: saiis-serif; bcx-sizing: border-boxj
I
thjtd {
font-sizej l3pjt;
¡jiidding: ISpx;
} th{
background; Et #5 55; color; M«-fff;
} >
a {
text-decoration: nonr; transition: 0,2s ease; cC.lor: ■flK75(.5;
>
ttf;nth-c!iiltl(?) > jg { color: n#i22i>2t:
}
a:licver {
opacity; 0=7;
>
f {
font-style: italic;
}
input, texLarea, button { paddi.rf£: l(if>x; display: block; win-height: 3SpJt; width:
sargin-iwttqm: JSpx;
PHC. 9 -«CSS1»
a {
text-decoration: none; transition: 0.2s ease; color: ■if^f75CS-J
}
ld;nth-child(7) >■ a { color: Difc22ij2a;
}
a shower {
opacity: 0.7;
>
P {
font-style: italic;
}
input, textarea, byttun { padding; Iflpx; display: block; iflin-height: width: 250px; nnargin-bottom: IGpxi
>
textarea {
reside: vertical; height; SSfJxj
>
button {
text-transform: uppercase; fojrt-weight: hold; cursor: pointer;
}
Рис. 10 -«CSS2»
Скрипт для создания новой записи показан на рис. 11. Далее идет подключение к БД, получение данных из форм с помощью глобального массива «POST» по их имени «name», которые указывались в параметрах тега (рисунок 2.) и запись в переменную. После нужно написать запрос на добавление данных в БД, где в первых скобках указывается 4 столбца, во вторых скобках указываются данные (здесь должен быть строгий порядок, так как данные №1 пойдут в столбец №1 и так далее). В качестве данных №1 созданы «NULL», так как этот столбец нужен для нумерации элементов в таблице (первичный ключ), дальше идут данные из полей (поле «title» хранит название, поле «description» хранит описание, поле «price» хранит цену).
7?Зф
r«pj LIT «nur ./confier4чк*1«1.|jiiuJ j Itftlr - î„pwtî ■ti*:?"!;
- "duiiriftitïi'J;
Цц-lde ■ Î_P01T('prLtc'J;
"И5г»т 1MTO "pmf-i." ("irt', "tiil*", "dîsiripiion , "priiç"; vM'Jfi г 'ititîî', 'iieitrisrtäsn*, 'iiwitç'i")
lifrferi'LDration: /');
Рис. 11 -«Скрипт добавления записи» Заключение
В статье представлен подход к разработке веб-сервиса. Показаны основные этапы разработки веб сервиса от создания формы, до подключения к базе данных и выполнению запросов.
Рассмотрен наиболее предпочтительный способ подключения базы данных к созданному проекту. Разобран способ создания кода для базовых sql запросов.
В статье показана методика добавления и удаления записей в БД, используя веб-сервис. Кроме того, представлено описание записей из созданной базы данных на главной странице.
Использованные источники:
1. Веб-сервисы в теории и на практике для начинающих [Электронный ресурс]. Режим доступа: https://habr.com/ru/articles/46374/ (дата обращения: 2.12.2023)
2. Соединения [Электронный ресурс]. Режим доступа: https://www.php.net/manual/ru/mysqli.quickstart.connections.php (дата обращения: 3.12.2023)
3. Постоянные соединения с базами данных [Электронный ресурс]. Режим доступа: https: //www.php. net/manual/ru/features.persistent-connections .php (дата обращения: 3.12.2023)
4. Как подключить базу данных MySQL к сайту на PHP [Электронный ресурс]. Режим доступа: https://nuancesprog.ru/p/13519/ (дата обращения: 3.12.2023)