ПЗ (1194863), страница 6

Файл №1194863 ПЗ (Мобильное приложение Coupons) 6 страницаПЗ (1194863) страница 62020-10-01СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 6)

3.1.3 Таблица coupon_cat

Данная таблица содержит информацию о категориях купонов, представленных в таблице coupons. Таблица coupon_cat необходимо в том случае, если клиенту нужно получить информацию о всех категориях купонов. Также в случае, когда клиенту нужно вернуть выборку из купонов только определенной категории, необходима данная таблица.

3.2 Запросы к серверу и структура JSON-документов

Для выборки данных из таблиц базы данных необходимо создать обработчики на сервере. Данные обработчики должны формировать запросы к базе данных, необходимые для получения выборки и дальнейшей передачи клиенту. Необходимо реализовать обработчики для следующих запросов:

– получение данных из таблицы company;

– получение данных из таблицы coupons;

– получение данных из таблицы coupon_cat;

– выборка данных из таблицы coupons по выбранному магазину;

– выборка данных из таблицы coupons по выбранной категории;

– получение данных из поля logo таблицы company.

Обработчики для данных запросов располагаются на сервере, связанном с базой данных. Программный модуль для обработки запросов написан на языке программирования PHP [26]. Каждый обработчик содержит подключение к базе данных и SQL-запрос к базе данных [28]. После получения данных из таблиц базы данных, обработчик преобразует информацию в удобный для передачи клиенту JSON-документ. Каждый JSON-документ представляет собой набор пар ключ: значение. Именно данные JSON-документы получает клиент в ответ на отправленный на сервер запрос.

3.2.1 Получение данных из таблицы company

Данный запрос формирует выборку из таблицы company с полями id, name, logo. Поле name содержит информацию о названии фирмы.

SQL-запрос имеет простую форму. В дальнейшем в коде PHP происходит фильтрация по полям таблицы company, определенным выше. Структура JSON-документа представлена на листинге 4.

1

{"company":[{"id":"128955","website":"http:\/\/220-volt.ru\/"},

2

{"id":"128956","website":"http:\/\/aliexpress.com\/ru_home.htm"},

3

{"id":"128957","website":"http:\/\/astia.ru\/"},

4

{"id":"128958","website":"http:\/\/Ayurveda-shop.ru\/"},

5

{"id":"128959","website":"http:\/\/babadu.ru\/"},

6

{"id":"128960","website":"http:\/\/bambolo.ru\/"},

7

{"id":"128961","website":"http:\/\/bebakids.ru\/"},

8

{"id":"128962","website":"http:\/\/bestwatch.ru\/"},

9

{"id":"128963","website":"http:\/\/butik.ru\/"},

10

{"id":"128964","website":"http:\/\/shop-delonghi.ru\/"},

11

{"id":"128965","website":"http:\/\/ebaysocial.ru\/"},

12

],"success":1}

Листинг 4 – JSON-документ company

3.2.2 Получение данных из таблицы coupons

Данный запрос требуется для отображения списка всех купонов. В выборке выделены следующие поля таблицы coupons: поле logo – для передачи части ссылки на логотип фирмы, для которой предоставляется купон; поле name – для отображения акции, предоставляемой по купону; поле goto_link – для передачи ссылки на купон.

SQL-запрос повторяет форму, используемую в ранее описанном запросе, отличаясь только таблицей, из которой требуется получить данные. Код позволяет получить данные из таблицы coupons в виде JSON-документа (листинг 5), элементы которого являются наборами пар ключ: значение.

1

{"coupons":[{"id":"40235","name":"Покупайте товары Philips, участвующие в программе МТС

2

Бонус, со скидкой 30%!\n", "short_name":"Скидки до

3

30%!","goto_link":"https:\/\/ad.admitad.com\/g\/mnsa2vh8y12391ae63fc1d5fe392d7\/?i=3"},

4

{"id":"40273","name":"Патио Кухни! Новый бренд от Роникон! ","short_name":"Выгодные цены",

5

"goto_link":"https:\/\/ad.admitad.com\/g\/z6vt4wln7c2391ae63fccbdf91a746\/?i=3"},

6

{"id":"40300","name":"Скидка 20% на все товары по полной стоимости!","short_name":"Скидка 20%!",

7

"goto_link":"https:\/\/ad.admitad.com\/g\/p7tkvkbqcj2391ae63fc3d89878ee1\/?i=3"},

8

{"id":"40309","name":"Скидка 8% на всю категорию Apple аксессуары!","short_name":"Скидка 8%!",

9

"goto_link":"https:\/\/lenkmio.com\/g\/7uq4acf3yc2391ae63fc22af2ed61b\/?i=3"},

10

{"id":"40310","name":"Скидка 8% на всеАвтомобили и мотоциклы!","short_name":"Скидка 8%!",

11

"goto_link":"https:\/\/lenkmio.com\/g\/04kwpuqq3x2391ae63fc22af2ed61b\/?i=3"},

12

{"id":"40311","name":"Скидка 8% на все бытовые электроники!","short_name":"Скидка 8%!",

13

"goto_link":"https:\/\/lenkmio.com\/g\/joo4dmgulm2391ae63fc22af2ed61b\/?i=3"},

14

{"id":"40312","name":"Скидка 7% на все планшеты!","short_name":"Скидка 7%!",

15

"goto_link":"https:\/\/lenkmio.com\/g\/p4eojhx0b72391ae63fc22af2ed61b\/?i=3"}

16

],"success":1}

Листинг 5 – JSON-документ coupons

3.2.3 Получение данных из таблицы coupon_cat

Данный запрос требуется для отображения всех списка категорий всех купонов. Таблица coupon_cat имеет простой вид: здесь нужно получить только одно поле name, в котором указано наименование категорий купонов, представленных в базе данных.

SQL-запрос также имеет схожий с предыдущими запросами вид. JSON-документ, используемый для передачи данных клиенту также содержит только одну пару ключ: значение (листинг 6).

1

{"category":[{"id":"613","name":"Детские товары"},

2

{"id":"614","name":"Красота & здоровье"},

3

{"id":"615","name":"Мода & аксессуары"},

4

{"id":"616","name":"Обувь женская & мужская"},

5

{"id":"617","name":"Одежда"},

6

{"id":"618","name":"Спорт и отдых"},

7

{"id":"619","name":"Товары для дома"},

8

{"id":"620","name":"Компьютеры & Электроника"},

9

{"id":"621","name":"Цветы и подарки"},

10

{"id":"622","name":"Часы"},

11

{"id":"623","name":"Еда"},

12

{"id":"624","name":"Путешествия & Туризм"},

13

{"id":"625","name":"Книги"},

14

{"id":"626","name":"Финансы & Страхование"},

15

{"id":"627","name":"ЗОО"},

16

{"id":"628","name":"Для взрослых"},

17

{"id":"629","name":"Игры"},

18

{"id":"630","name":"Автотовары"}],

19

"success":1}

Листинг 6 – JSON-документ category





3.2.4 Выборка данных из таблицы coupons по выбранному магазину

Данный запрос требуется для получения данных из таблицы coupons с фильтрацией по полю company_id, которое является внешним ключом для таблицы company.

SQL запрос представляет из себя выборку элементов с включенным критерием фильтрации данных. JSON-документ формируется из отфильтрованных по таблице company данных.

3.2.5 Выборка данных из таблицы coupons по выбранной категории

Данный запрос повторяет логику предыдущего запроса. Как и в предыдущем запросе, требуется осуществить фильтрацию полей таблицы coupons, однако в указанном запросе фильтрация происходит по полю category_id, которое является внешним ключом для таблицы coupon_cat.

SQL-запрос представляет собой выборку с включенным критерием фильтрации данных. JSON-документ формируется на основе полученных данных из таблицы coupons с учетом установленного критерия.

3.2.6 Получение данных из поля logo таблицы company

Данный запрос требуется для получения данных из таблицы company. Поле содержит часть ссылки на логотип компании, который требуется для изображений в мобильном приложении.

SQL-запрос имеет простую форму и представляет собой выборку одного поля из таблицы company. JSON-документ формирует простые пары ключ: значение (листинг 7).

1

{"image":[{"id":"128955","logo":"\/images\/company_img\/1810.jpg"},

2

{"id":"128956","logo":"\/images\/company_img\/6115.jpg"},

3

{"id":"128957","logo":"\/images\/company_img\/2817.jpg"},

4

{"id":"128958","logo":"\/images\/company_img\/7822.jpg"},

5

{"id":"128959","logo":"\/images\/company_img\/1939.jpg"},

6

{"id":"128960","logo":"\/images\/company_img\/9887.jpg"},

Листинг 7 – Обработчик получения данных image

Получение данных в ответ на SQL-запрос от базы данных с использованием JSON-документа является наиболее простым и эффективным способом передачи структурированных данных.

3.3 Обработка запросов клиента

Для реализации обработки запросов клиентской части системы, необходимо реализовать обработчики запросов. Данные обработчики написаны на языке программирования PHP. Обработчик представляет из себя файл с расширением .php, который включает в себя: механизм подключения к базе данных, расположенной на том же сервере; непосредственно сам SQL-запрос, адресованный базе данных; код, который представляет из себя условие, при выполнении которого данные из базы данных формируют JSON-документ.

3.3.1 Обработка SQL-запроса на получение данных из таблицы company

Данный обработчик необходим для получения информации из таблицы company. Полный листинг представлен ниже (листинг 8).

1

<?php

2

$con = mysqli_connect("localhost", "login", "password", "id1813052_diplom");

3

if (mysqli_connect_errno()) {

4

printf("Не удалось подключиться: %s\n", mysqli_connect_error());

5

exit();}

6

$response = array();

7

$result = mysqli_query($con, "SELECT *FROM company");

8

if (mysqli_num_rows($result) > 0) {

9

$response["company"] = array();

10

while ($row = mysqli_fetch_array($result)) {

11

$product = array();

12

$product["id"] = $row["id"];

13

$product["website"] = $row["website"];

14

array_push($response["company"], $product);}

15

$response["success"] = 1;

16

echo json_encode($response, JSON_UNESCAPED_UNICODE);

17

} else {

18

$response["success"] = 0;

19

$response["message"] = "No products found";

20

echo json_encode($response);}

21

?>

Листинг 8 – Обработчик получения данных из таблицы company

Характеристики

Тип файла
Документ
Размер
4,87 Mb
Высшее учебное заведение

Список файлов ВКР

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7021
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее