Как сделать поиск по базе данных
Перейти к содержимому

Как сделать поиск по базе данных

Простой поиск PHP MySQL

Уважаемые пользователи! Мы благодарим Вас за то, что Вам интересен нашен контент, поэтому с каждым днем хотим становиться все лучше и лучше!

Большое спасибо за вашу помощь и внимательность к нам!

В сегодняшнем уроке мы рассмотрим поиск php mysql​. Скриптов поиска огромное множество, некоторые используют базу данных, другие обходятся без нее, есть расширенные поиски с точной сортировкой. Мы же остановимся на обычном простом поиске, который ищет информацию по двум таблицам из базы данных MySQL.

Создаем базу данных search_lite, в ней две таблицы news — новости и vac — вакансии.

Дамп таблицы news — новостей.

Дамп таблицы vac — вакансий.

Подключаемся к базе данных. Задаем условие по переменной $search, в которой поисковый запрос не введен, либо он меньше 4-х символов, а также проверяем на слеши и обрезаем переменную. Создаем два запроса, которые ищут в базе данных две таблицы news и vac по условию поиска по полю text. (Вы можете сами уже выбирать, сколько таблиц нужно будет для поиска. К примеру, у Вас будут таблицы lessons, materials, articles и т.п.. Также можете менять условия поиска, вместо поля text, можно выбрать поле title или другое поле.) Затем указываем сколько символов в тексте при выводе поиска в переменной $symbolls. Если же в таблицах news и vac по поиску ничего не найдено, выводим сообщение. Если же найдено, выводим данные из двух таблиц news и vac по заданному запросу поиска.

Пропишем немного стилей, которые будут формировать наш поиск.

Мы рассмотрели с Вами простой поиск php mysql, который ищет информацию из базы данных. По условию используются две таблицы, Вы можете настроить под себя любым удобным способом. Следующий урок будет посвящен аналогии простого поиска, только с расширенными возможностями.

Простой поиск при помощи PHP, jQuery и MySQL

Лучший способ удержать пользователя на сайте, это позволить ему найти, то что он ищет. Если вы делаете для этого удобную систему, то уровень предпочтения вашего сайта будет расти и пользователь обязательно вернётся для того, чтобы найти то, что его интересует.

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

Я создам 2 файла: search.php, который будет содержать HTML и JavaScript. Второй файл, do_search.php будет содержать PHP код. Приступим к созданию первого файла:

В этом файле мы создали обычную HTML форму, которая посылает POST запрос в бэк энд – файлу do_search.php.

PHP код содержит комментарии, по которым вы с лёгкостью сможете понять работу скрипта. Если в базе данных нашлись совпадения, вы показываете их вашему пользователю, выделяя жирным те слова, которые искал пользователь.

Придадим всему этому немного CSS:

Вот вы и научились создавать простейшую поисковую форму, которая работает без перезагрузки страницы. Надеюсь, урок вам понравился.

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.codeforest.net/simple-search-with-php-jquery-and-mysql
Перевел: Станислав Протасевич
Урок создан: 16 Марта 2011
Просмотров: 149014
Правила перепечатки

5 последних уроков рубрики «jQuery»

Анимация набора текста на jQuery

Сегодня мы бы хотели вам рассказать о библиотеке TypeIt — бесплатном jQuery плагине. С её помощью можно имитировать набор текста. Если всё настроить правильно, то можно добиться очень реалистичного эффекта.

Временная шкала на jQuery

jQuery плагин для создания временной шкалы.

Заметка: Перезагрузка и редирект на JavaScript

Быстрая заметка, где вы сможете найти парочку JS сниппетов для перезагрузки и перенаправления пользователей через JavaScript.

Поиск в MySQL РНР

Это первое руководство из серии Практическое Программирование на PHP. Итак, позвольте мне начать, сегодня я собираюсь рассказать вам, как создать поисковый механизм, который вы смогли бы использовать на своем сайте или на каком-либо другом проекте. Для написания этого руководства я использовал базу данных MySQL,
код, совместимый с PHP 3 и 4.

Задний план

Прежде, чем мы начнем, я покажу вам таблицу, которая будет использована в примерах:

Погружаемся в Работу

Прежде, чем мы действительно займемся созданием поискового механизма, нам надо
будет создать основную веб-страницу, на которой будет находиться поле для ввода запроса на поиск. Я сделал самую простую форму, если вам станет легче — сделайте более сложную с массой излишеств. Код моей страницы ниже:

<html>
<head>
<title>Simple Search Engine version 1.0</title>
</head>
<body>
<center>
Enter the first, last, or middle name of the person you are looking for:
<form action=»search.php» method=»post»>
<input type=»text» name=»search_query» maxlength=»25″ size=»15″><br>
<input type=»reset» name=»reset» value=»Reset»>
<input type=»text» name=»submit» value=»Submit»>
</form>
</center>
</body>
</html>

Это хорошая основная страница, так что я не собираюсь особо на этом останавливаться. В основном пользователи введут имя, фамилию или отчество личности, которую они ищут, и нажмут enter. Содержимое полей ввода будет передано на php
скрипт, называющийся search.php и который сделает все остальное.

Теперь, когда страница готова, позвольте приступить к написанию собственно скрипта.
Прежде чем мы действительно подключимся к базе данных, используя
mysql_pconnect(), и выберем таблицу, используя mysql_select_db(), мы выполним грамматический разбор
значения, переданного скрипту чтобы посмотреть, не содержит ли оно какого-нибудь неправильного ввода, такого как чисел и стремных символов подобно #&*^. Вы всегда
должны проверять ввод и не доверять вещам подобно JavaScript, чтобы сделать это, так
как однажды пользователь отключит JavaScript и все, что
подтвердится спустится в
унитаз. Теперь, для проверки ввода мы будем использовать регулярное выражение, они
могут немного запутать вас, но будут объясняться в последующих руководствах. Все,
что нам нужно знать сейчас, это то, что нужно проверить, что переданное значение
это строка символов. Ну все, достаточно болтовни, вот первая часть скрипта:

<?php
mysql_pconnect(«host», «username», «password») or die(«Can’t connect!»);
mysql_select_db(«Names») or die(«Can’t select database!»);

if (!eregi(«[[:alpha:]]», $search_query))
<
echo «Error: you have entered an invalid query, you can only use characters!<br>»;
exit;
>

Теперь когда мы сделали это, мы сформируем поисковый запрос.

$query= mysql_query(«SELECT * FROM some_table WHERE First_Name= ‘$search_query’ OR Middle_Name= ‘$search_query’ OR Last_Name= ‘$search_query’ ORDER BY Last_Name»);

Запутались? Я объясню, что здесь происходит, мы запрашиваем MySQL поиск во всех
колонках в First_Name, Middle_Name и Last_Name для сопоставления запроса, введенного пользователем, после того, как он обнаружил некоторые результаты мы просим MySQL расположить результаты в алфавитном порядке, начиная с Last_Name.

Остальная часть кода очень проста. Мы получаем результаты запроса, используя
mysql_fetch_array( ) и ищем соответствия, используя mysql_num_rows(). Если соответствие или соответствия есть, то мы выводим все обнаруженные соответствия;
если их нет, то мы говорим пользователю, что не смогли ничего найти.

if ($result == 0)
<
echo «Sorry, I couldn’t find any user that matches your query ($search_query)»;
exit;
>
else if ($result == 1)
<
echo «I’ve found <b>1</b> match!<br>»;
>
else <
echo «I’ve found <b>$result</b> matches! <br>»;
>

while ($row= mysql_fetch_array($query))
<
$first_name= $row[«First_Name»];
$middle_name = $row[«Middle_Name»];
$last_name = $row[«Last_Name»];

echo «The first name of the user is: $first_name.<br>»;
echo «The middle name of the user is: $middle_name.<br>»;
echo «The last name of the user is: $last_name. <br>»;
>
?>

Я добавил одну интересную вещь, когда мы выводим сообщение, сколько пользователей мы обнаружили, то вывод будет предоставлен на соответствующем правильном Английском. Если бы мы не добавили в скрипт эту вещь, то он выводил бы,
например, «I’ve found 1 matches», что очевидно является грамматической ошибкой �� Остальная часть скрипта в основном соединяет результаты и печатает их
на веб-странице. Это и все, работа над скриптом завершена! Полный код скрипта
расположен ниже:

<html>
<head>
<title>Simple Search Engine version 1.0 — Results </title>
</head>
<body>
<?php
mysql_pconnect(«host», «username», «password») or die(«Can’t connect!»);
mysql_select_db(«Names») or die(«Can’t select database!»);

if (!eregi(«[[:alpha:]]», $search_query))
<
echo «Error: you have entered an invalid query, you can only use characters!<br>»;
exit; //Нет необходимости выполнять остальную часть скрипта.
>

$query= mysql_query(«SELECT * FROM some_table WHERE First_Name=’$search_query’ OR Middle_Name= ‘$search_query’ OR Last_Name=’$search_query’ ORDER BY Last_Name»);

if ($result == 0)
<
echo «Sorry, I couldn’t find any user that matches your query ($search_query)»;
exit; //Ничего не найдено, зачем выполнять остальную часть скрипта?
>
else if ($result == 1)
<
echo «I’ve found <b>1</b> match!<br>»;
>
else <
echo «I’ve found <b>$result</b> matches! <br>»;
>

while ($row= mysql_fetch_array($query))
<
$first_name= $row[«First_Name»];
$middle_name = $row[«Middle_Name»];
$last_name = $row[«Last_Name»];

echo «The first name of the user is: $first_name.<br>»;
echo «The middle name of the user is: $middle_name.<br>»;
echo «The last name of the user is: $last_name. <br>»;
>
?>
</body>
</html>

Что ж, этим завершается первая часть серии руководств Практического Программирования. Страницы, созданные мной, были чрезвычайно простыми, так как моя главная
цель — объяснить вам суть скрипта, вы должны оживить свои страницы изображениями
и другими клевыми эффектами. Если вы обнаружили какие-либо ошибки или у вас есть
какие-либо комментарии, пожалуйста, напишите мне (также приветствуются вопросы
на доске объявлений).

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

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