Как разработать PHP скрипт поиска для своего сайта

Как разработать PHP скрипт поиска для своего сайта

От автора: PHP скрипт поиска является неотъемлемой частью современного ресурса. Но для начинающих разработчиков его реализация может стать «краеугольным камнем». Сегодня я постараюсь объяснить построение такого модуля как можно проще, чтобы его код не испугал вас своей чрезмерной сложностью.

Ищем на PHP

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

Чаще всего для написания скрипта поиска по сайту на PHP используется связка данного программного языка с MySQL. Для реализации интерактивной поисковой системы применяется технология AJAX. Но сегодня мы не будем «петлять» в таких дебрях, и остановимся на классическом варианте.

Я приведу самый простой пример поиска. В нем не будет проверок наличия соединения с СУБД, проверки результатов возвращаемой выборки и т.д. Все эти тонкости вы сможете добавить самостоятельно. Цель материала – дать общее представление о построении внутренней системы поиска на современном интернет-ресурсе. Поехали!

Для начала приведу код формы для ввода поискового запроса. Это простая разметка, даже без малейших стилевых «изысков».

<form name="f1" method="post" action="search.php">
<input type="search" name="search_q"/></br>
</br>
<input type="submit" value="Поиск"/></br>
</form>

Так эта форма выглядит в браузере:

Переходим к скрипту

Теперь переходим непосредственно к программному коду. Для начала приведу структуру таблицы, которую нужно создать в MySQL. Мы будем искать опубликованные материалы по их заголовку. По этому же принципу можно создать PHP скрипт поиска слов по сайту. Все в ваших умелых руках :) .

Сначала мы перехватываем значение, введенное пользователем в форму. Затем очищаем его от «мусора»: лишних пробелов, тегов и коннектимся к базе. После этого запускаем SQL запрос, в котором сравниваем значение поискового запроса с названием материалов, сохраненных таблице. При совпадении выводим соответствующий контент. В конце закрываем соединение с MySQL и «сбрасываем» запрос. Вот весь код примера:

<?php
$search_q=$_POST['search_q'];
$l= mysqli_connect('localhost', 'root', '', 'site');
$search_q = trim($search_q);
$search_q = strip_tags($search_q);
$q= mysqli_query($l, "SELECT title_value,content FROM `title` WHERE title_value LIKE '%$search_q%'");
$itog=mysqli_fetch_assoc($q);
  while ($itog = mysqli_fetch_assoc($q)) {
        printf("%s (%s)\n",$r["title_value"],$r["content"]);
    }
 mysqli_free_result($q);
  mysqli_close($l);
?>

Код следует разместить в отдельном файле PHP на стороне сервера, а его название прописать в форме (атрибут action). Еще раз напоминаю, что это всего лишь «костяк» поиска по сайту PHP MySQL скрипта. «Обшить» его различными проверками сможете самостоятельно. Главное, что показан принцип реализации.

Курс по программированию на языке PHP

Изучите PHP с нуля до результата!

Смотреть курс

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree