В прошлом, запрос данных для фильтрации был немного громоздким. Сегодня получение данных стало намного проще благодаря AJAX и JQuery. Перед фильтрацией данных, участвует GET запрос для того, чтобы обновить страницу. Теперь мы можем в полной мере воспользоваться помощью AJAX, чтобы получить наши данные и заполнить нашу таблицу данных на основе пользовательского ввода без обновления страницы.
В этом уроке, я покажу вам, как это делается с помощью AJAX .get () метод запроса, построенном в библиотеку JQuery. Мы будем использовать PHP код для извлечения данных из базы данных и отобразим результаты данных в таблице.
Вважно иметь в виду, что это только один из способов обработки этой операции. Метод Jquery в .get () будет использован только для получения данных, а не создавать данные. Вы хотите знать, какой метод вы используете для задачи, над которой вы работаете.Ссначала хочу загрузите исходные файлы и настройки базы данных. В исходных файлов я оставил файлик, который называется customers.sql
к содержанию ↑Настройка базы данных
Настройка базы данных на локальном компьютере или на удаленным. Затем вставьте filecustomers.sql таблицу, приведенной в исходном загрузочном пространстве.
Затем откройте файл /data/search-data.php и вводите информации о пользователе в соответствии с вашими требованиями по настройке баз данных (логин / пароль).
Внешний вид таблицы
Я использую ThemeRoller JQuery для стилизации таблицы. Тем не менее, вы можете использовать любой стиль, который подходит для вашего проекта. HTML-это довольно таки развит. Я поместил этот код в файл с именем index.php. Результаты, которые возвращаются из поискового запроса на основе следующих:
<tbody id=”results”></tbody>
Независимо от того, в какой таблице мы используем, пока у нас есть необходимое количество столбцов полевых и ID=»searchData» мы не можем передавать данные в таблицу. Ах да, и вы также должны иметь поле ввода для поиска.
Поиск: <input style="width:150px;" id="searchData" type="text">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>jQuery Search Autocomplete</title> <style type="text/css" title="currentStyle"> @import "css/grid_sytles.css"; @import "css/themes/smoothness/jquery-ui-1.8.4.custom.css"; </style> <!-- jQuery libs --> <script type="text/javascript" src="js/jquery-1.6.1.min.js"></script> <script type="text/javascript" src="js/jquery-ui-1.7.custom.min.js"></script> <script type="text/javascript" src="js/jquery-search.js"></script> </head> <body> <div id="container"> <div id="dataTable"> <div class="ui-grid ui-widget ui-widget-content ui-corner-all"> <div class="ui-grid-header ui-widget-header ui-corner-top clearfix"> <div class="header-left"> <!-- Left side of table header --> </div> <div class="header-right"> Search: <input style="width:150px;" id="searchData" type="text"></div> </div> <table class="ui-grid-content ui-widget-content cStoreDataTable" id="cStoreDataTable"> <thead> <tr> <th class="ui-state-default">Имя</th> <th class="ui-state-default">Адрес</th> <th class="ui-state-default">Телефон</th> <th class="ui-state-default">Емеил</th> </tr> </thead> <tbody id="results"></tbody> </table> <div class="ui-grid-footer ui-widget-header ui-corner-bottom"> <div class="grid-results">Результаты: </div> </div> </div> </div> </div> </body> </html>к содержанию ↑
JQUERY
Я поставил комментарии в разметке JQuery, чтобы сделать его немного легче для вашего понимания. Этот код находится в файле / JS JQuery-search.js
$(document).ready(function(){ /* Устанавливаем внутреннюю HTML таблицу, сообщаем пользователю ввести поисковый запрос, чтобы начать. Мы могли бы разместить это где-нибудь в документе. Я выбрал, чтобы поместить его в таблице. */ $('#results').html('<p style="padding:5px;">Enter a search term to start filtering.</p>'); /* Когда пользователь вводит значение, таких как "J" в поле поиска * Мы запускаем функцию .get (). */ $('#searchData').keyup(function() { /* Получаем значение входного поиска каждый раз, KeyUp () метод срабатывает таким образом, что * Может передать значение методу нашего .get () для извлечения данных из базы данных*/ var searchVal = $(this).val(); /* Если searchVal вар не пуст, то проверяем базу данных для возможных результатов * Еще показываем сообщение пользователю*/ if(searchVal !== '') { /* Горячий .get () метод и передача данные в searchVal * search-data.php файл для поиска */ $.get('data/search-data.php?searchData='+searchVal, function(returnData) { /* Если returnData пуст, то выводим сообщение для пользователя * Остальное наши возвращенные результаты данных в таблице. */ if (!returnData) { $('#results').html('<p style="padding:5px;">Поиск не вернул никаких данных.</p>'); } else { $('#results').html(returnData); } }); } else { $('#results').html('<p style="padding:5px;">Введите поисковое слово, чтобы начать фильтрацию</p>'); } }); });к содержанию ↑
PHP
Откройте файл data / search-data.php. Я поставил заметки в этом файле, чтобы помочь вам лучше понять процесс. Этот файл содержит PHP код для извлечения данных из базы данных на основе ввода пользователей в окне поиска.
Ресурсы
- .get() method – jQuery
- .html() method – jQuery
- .val() method – jQuery
- .keyup() method – jQuery
- while() function – php