Ищем на PHP
Организация внутреннего поиска на сайте — важная задача. Наличие этого функционала значительно увеличивает ресурс в глазах любого пользователя. Особенно это актуально для сайтов с узкой тематикой, содержание которых посвящено решению конкретных «задач». Например, в веб-программировании.
Довольно часто для написания скрипта поиска по сайту на PHP связка этого языка программирования используется с MySQL. Технология AJAX используется для реализации интерактивной поисковой системы. Но сегодня мы не будем «уворачиваться» в таких диких местах и остановимся на классическом варианте.
Приведу простейший пример поиска. Он не будет проверять наличие подключения к СУБД, не будет проверять результаты возвращенного выбора и т.д. Все эти тонкости вы можете добавить самостоятельно. Цель материала — дать общее представление о построении внутренней поисковой системы на современном интернет-ресурсе. Идти!
Для начала предоставлю код формы для ввода поискового запроса. Это простая разметка, даже без малейших стилистических «изысков».
Переходим к скрипту
Теперь перейдем непосредственно к программному коду. Во-первых, я предоставлю структуру таблицы, которую вам нужно создать в MySQL. Мы будем искать опубликованные материалы по их названию. По такому же принципу можно создать PHP-скрипт для поиска слов на сайте. Все в ваших умелых руках .
Сначала мы перехватываем значение, введенное пользователем в форму. Так что удаляем его из «хлама»: лишние пробелы, теги и подключаемся к базе. Затем мы запускаем SQL-запрос, в котором сравниваем значение поискового запроса с названием материалов, хранящихся в таблице. Если есть совпадение, мы показываем совпадающий контент. Наконец, мы закрываем соединение MySQL и «загружаем» запрос. Вот полный пример кода:
Код необходимо разместить в отдельном PHP-файле на стороне сервера, а его имя записать в форме (атрибут действия). Напомню еще раз, что это лишь основа скрипта поиска по сайту PHP MySQL. Вы можете сами «покрыть» его различными элементами управления. Главное, чтобы был показан принцип выполнения.
Создание необходимых файлов
Создайте следующие файлы в папке live-search.local’.
index.php — это главный файл поисковой системы, в который пользователь вводит данные и отображает результат.
db.php — содержит данные для подключения к базе данных.
handler.php — файл, обрабатывающий запрос ajax и возвращающий результаты.
script.js — этот файл содержит функцию обработчика событий keyup и отправляет данные на сервер с помощью технологии ajax. Он также содержит функцию fill (), которая запускается, когда вы нажимаете на результат поиска.
style.css — Файл для стилей