Много раз при программировании страниц с помощью pHp и запросов к базе данных мы должны обновлять веб-страницу, чтобы php обрабатывался на сервере, проверять базу данных и затем возвращать результат.
Такое перенаправление в Интернете обычно занимает несколько секунд, в некоторых случаях показывая пользователю пустую страницу во время обработки и отображения данных. Чтобы получить более прозрачный интерфейс для пользователя при отправке запросов на сервер, мы можем использовать AJAX - технологию, которая позволит нам делать запросы на веб-странице, которые требуют ответа от сервера, без перезагрузки. Мы начнем пример с веб-списка для управления агентством транспортных средств.
Сначала мы создадим базу данных в Mysql для использования Phpmyadmin . Далее код SQL .
1) Создаем базу данных
СОЗДАТЬ БАЗУ ДАННЫХ agency_autos;
2) Затем мы создадим таблицы
- а) Структура стола для стола транспортного средства
СОЗДАЙТЕ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ `Vehicles` (` id` int (10) NOT NULL AUTO_INCREMENT, `vehicle_type` int (255) DEFAULT NULL, ` features` text, `mark` varchar (255) DEFAULT NULL, ` model` varchar ( 255) ПО УМОЛЧАНИЮ NULL, `normal_price` десятичное число (10.2) ПО УМОЛЧАНИЮ NULL, ` description` varchar (255) ПО УМОЛЧАНИЮ NULL, `photo1` varchar (255) ПО УМОЛЧАНИЮ NULL, ` photo2` varchar (255) ПО УМОЛЧАНИЮ NULL, ПЕРВИЧНЫЙ КЛЮЧ ( `id`)) ENGINE = MyISAM CHARSET ПО УМОЛЧАНИЮ = latin1 AUTO_INCREMENT = 1;
- б) Структура таблицы для таблицы меток
СОЗДАЙТЕ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ `marks` (` id` int (11) NOT NULL AUTO_INCREMENT, `vehicle_type` int (10) DEFAULT NULL, ` mark` varchar (200) DEFAULT NULL, ПЕРВИЧНЫЙ КЛЮЧ (`id`)) ENGINE = CHISSET ПО УМОЛЧАНИЮ MyISAM = latin1 AUTO_INCREMENT = 1;
- в) Вставьте метки
INSERT INTO `бренды` (` id`, `vehicle_type`, ` brand`) ЗНАЧЕНИЯ (1, 1, «HONDA»), (3, 1, «AUDI»), (4, 1, «BMW»),
- г) Структура таблицы для таблицы моделей
СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ `models` (` id` int (11) NOT NULL AUTO_INCREMENT, `vehicle_type` int (200) DEFAULT NULL, ` idmarca` int (200) DEFAULT NULL, `model` varchar (255) DEFAULT NULL, ПЕРВИЧНЫЙ КЛЮЧ (`id`)) ENGINE = MyISAM CHARSET DEFAULT = latin1 AUTO_INCREMENT = 1;
- д) вставляем некоторые данные в таблицу моделей
INSERT INTO `models` (` id`, `vehicle_type`, ` idmarca`, `model`) VALUES (1, 1, 1, « ACCORD »), (2, 1, 1, « JAZZ »), (3, 1, 1, «СИВИК»);
- f) Структура таблицы для таблицы vehicle_type
СОЗДАЙТЕ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ `vehicle_type` (` id` int (10) NOT NULL AUTO_INCREMENT, `vehicle_type` varchar (200) DEFAULT NULL, PRIMARY KEY (` id`)) ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 1;
- g) Вставляем некоторые данные в таблицу vehicle_type
INSERT INTO `vehicle_type` (` id`, `vehicle_type`) ЗНАЧЕНИЯ (1, « Автомобили »), (2, « Мотоциклы »)
До этого мы создаем всю базу данных.
Структура веб-страницы
Мы начинаем структуру веб-страницы с php, пример будет разработан на плоском php, но его можно адаптировать к любой среде.
1) Подключитесь к базе данных Mysql, создав файл config.php
Мы создадим веб-страницу, которая будет называться index.php, где у нас будет код для отображения списка транспортных средств, а затем отфильтруем список с помощью jquery. Дизайн, который мы используем для этого урока, довольно прост.
Код внутри index.php для показа дизайна выглядит следующим образом:
Затем мы создаем верхнюю панель:
транспортные средства | брендымодели
выбрать | выбратьвыбрать
Затем код списка будет поставляться с запросами sql, тогда div будет отображать отфильтрованный список:
автомобиль | знакмодельфотодействия | |
Теперь, когда у нас запущен список, нам нужно будет создать фильтр с помощью Jquery и запрограммировать функциональность, связав select. При первом выборе автомобиля мы добавляем запрос и модифицируем его следующим образом:
выбрать
При выполнении выбор будет загружен транспортными средствами:
Теперь для этого есть Jquery, который мы добавим в index.php в верхней строке перед включением, библиотеку Jquery, загруженную с //jquery.com/download/, или скомпонуем следующий скрипт и используем его по внешнему пути.
Мы создадим файл functions.js для хранения кода Jquery и добавим его на страницу под предыдущим скриптом следующим образом:
Первый скрипт будет тот, который при выборе типа транспортного средства активирует выбор с отметками
$ (function () {$ ("# vehicle"). change (function () {// сценарий активируется, когда я выбираю автомобиль. select = $ (this) .val () // я принимаю выбранное значение // send на страницу, которая выполнит SQL-запрос и вернет мне данные для добавления в select $ .get ("http: //localhost/proyectos/agenciaautos/marcas.php? idvehiculo =" + vehicle, function (data) {$ ( "#mark"). html (data); // Я беру результат и вставляю данные в метку выбора});});});
Мы создаем файл marks.php, который будет делать запрос, который затем будет загружен в выбор брендов:
Таким образом, при выборе типа транспортного средства активируются метки выбора, соответствующие типу транспортного средства.
Теперь мы активируем выбранные модели из Marks, для этого добавим следующий код в functions.jps:
$ (function () {$ ("# brand"). change (function () {brand = $ (this) .val () // Выбранное значение $ .get ("http: // localhost / projects / agencyautos / model .php? idmarca = "+ mark, function (data) {$ (" # model "). html (data); // Я беру результат страницы и вставляю данные в выборку});});});
Мы создаем файл models.php для выполнения запроса:
Наконец, при выборе модели мы добавим тот же сценарий, который показывает нам список, но отфильтрованный в соответствии с выбранными параметрами, и результат будет присвоен div id = ”list”
Сценарий juqery, который активирует список из выбранной модели, будет
$ (function () {$ ("# model"). change (function () {model = $ (this) .val () // Выбранное значение $ .get ("http: // localhost / projects / agencyautos / list .php? idmodel = "+ model, function (data) {$ (" # перечисление "). html (data); // Я беру результат страницы и вставляю данные в список div});});}) ;
Файл list.php, который будет выполнять запрос фильтра:
автомобиль | знакмодельфотодействия | |
Наконец, как пример с работающими фильтрами, можно было бы пропустить восстановление списка до исходного и зарегистрировать транспортное средство, которое мы увидим в другом уроке.
внимание
Продолжение и более подробную информацию об этом уроке введите здесь
- 0
СТАТЬИ