AJAX PHP поиск
- 30 декабря 2008
- Книжная Полка
Простой AJAX GET запрос серверному скрипту search.php с передачей параметров sSearch - строка поиска, и случайно число во избежание кэширование на некоторых браузерах.
PHP – server-side coding
Внимание! У Вас нет прав для просмотра скрытого текста.
Ну и наконец-то мы добрались до нашего главного дяди. Объяснять здесь тоже особо нечего. Прошу обратить внимание на одно. В предыдущих уроках мы использовали кодировку windows-1251 (cp1251, сравнение cp1251_general_ci), и мучались с переводом данных из utf8 в cp1251. Данный урок построен полностью на кодировке UTF-8, однако здесь возникла проблема с функциями strlen() и substr(). Для получения подстроки из кодировки UTF-8 следует использовать функцию mb_substr(), причем передав ей, 4-м параметром, строку «utf-8» (http://php.net/mb_substr). Функция mb_substr() работает аналогично (http://php.net/mb_strlen).
Разберем по порядку.
Внимание! У Вас нет прав для просмотра скрытого текста.
Итак, подключаемся к серверу mysql, выбираем базу данных, указываем кодировку. Далее пару заголовков о том, что это за файл и как кэшировать. Затем стандартный XML заголовок и корневой элемент searchresults.
Внимание! У Вас нет прав для просмотра скрытого текста.
Строку поиска берем из HTTP GET заголовка (именно так нам передаёт ее ajax скрипт), причем обработав ее функцией , и пишем запрос на поиск по базе. Кто не понял, как построен запрос в базу, советую подучить SQL.
Внимание! У Вас нет прав для просмотра скрытого текста.
Выбрав интересующие нас данные из базы, мы обрабатываем поле content, так как оно может быть достаточно длинным, а в результатах поиска не следует выводить статью целиком. Обрезаем ровно 250 символов и добавляем троеточие.
Внимание! У Вас нет прав для просмотра скрытого текста.
Ну а дальше выводим данные в соответствующем формате. Элемент entry (запись), внутри элементы title и content (заголовок и контент).
Внимание! У Вас нет прав для просмотра скрытого текста.
