Сервис для
сео - оптимизаторов

Найди ошибки на сайте
Ошибки мешают продвижению сайта
Исправь ошибки на сайте
Сайт без ошибок продвигать легче
Получи новых клиентов
Новые клиенты принесут больше прибыль

Автозаполнение PHP, MySQL и Jquery. Автозаполнение

  1. 1. ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ MYSQL
  2. 2. ФУНКЦИИ КОНТАКТ И ОТКЛЮЧЕНИЕ
  3. 3. Я СОЗДАЮ ФУНКЦИЮ ДЛЯ РЕАЛИЗАЦИИ ПОИСКА
  4. 4. МЫ НАЧИНАЕМ ТЕКСТ ДЛЯ САМОПОЛНЕНИЯ
  5. 5. МЫ СОБИРАЕМ HTML-ЧАСТЬ
  6. 6. HTML ТЕЛО

Эта статья является продолжением Учебник по созданию поисковой системы PHP для очень простой сети ', в значительной степени из-за большого количества запросов, спрашивающих нас, как обогатить поисковую систему функцией автозаполнения в PHP, MySQL и Jquery .

Это правда, что системы автозаполнения присутствуют в большинстве входов или блоков ввода, в дополнение к облегчению пользователю управления, способствующего хорошему пользовательскому опыту ( удобство и простота использования ).

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

С одной стороны, мы рекомендуем выбрать правильная архитектура для БД MySQL а с другой стороны, чтобы минимизировать доступ к базе данных, мы получим большую скорость.

Как в нашей предыдущей статье, посвященной поисковой системе, мы будем продолжать использовать базу данных провинций в Испании, и на этот раз мы будем поддерживать силу, предлагаемую универсальной галереей JQuery Как гласит его девиз: «пиши меньше, делай больше».

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

1. ПОДКЛЮЧЕНИЕ К БАЗЕ ДАННЫХ MYSQL

В начале программы мы определяем соединение с базой данных, в отличие от нашего предыдущего поста, здесь мы будем подключаться в соответствии с директивой новой версии PHP 7

<? php // Сначала мы определяем соединение с базой данных, чтобы при необходимости было легко изменить параметры. define ('HOST_DB', 'localhost'); // Имя хоста, обычно localhost define ('USER_DB', 'root'); // Пользователь bbdd define ('PASS_DB', ''); // Пароль определения bbdd ('NAME_DB', 'spainprov'); // Имя bbdd?>

2. ФУНКЦИИ КОНТАКТ И ОТКЛЮЧЕНИЕ

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

<? php // Определяем функцию соединения (версия PHP 7) connect () {global $ connection; // Глобальное определение, которое будет использоваться во всем контексте $ connection = mysqli_connect (HOST_DB, USER_DB, PASS_DB, NAME_DB) или die ('МОТОР БАЗЫ ДАННЫХ НЕ ПОДКЛЮЧЕН'); mysqli_select_db ($ connection, NAME_DB) или die («БАЗА ДАННЫХ НЕ НАЙДЕНА». NAME_DB); } функцияnect () {global $ connection; mysqli_close ($ connection); }?>

3. Я СОЗДАЮ ФУНКЦИЮ ДЛЯ РЕАЛИЗАЦИИ ПОИСКА

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

<? php function options () {global $ connection; // Переменная, которая будет содержать результат поиска $ text = ''; подключиться (); mysqli_set_charset ($ connection, 'utf8'); // указать bbdd, что мы собираемся показать информацию в utf8 // Продолжить сбор информации обо всех провинциях $ sql = "SELECT * FROM провинция ORDER BY провинция"; $ result = mysqli_query ($ connection, $ sql); // Выполнение запроса // Если есть результаты ... if (mysqli_num_rows ($ result)> 0) {while ($ row = mysqli_fetch_assoc ($ result)) {// информация собирается так, как мы собираемся передать ее переменная javascript $ text. = '"'. $ row ['Province']. '",'; }} else {$ text = "НЕТ РЕЗУЛЬТАТОВ В BBDD"; } // После работы с bbdd мы закрываем соединение (из соображений безопасности не оставляем открытых соединений) mysqli_close ($ connection); вернуть текст $; }?>

4. МЫ НАЧИНАЕМ ТЕКСТ ДЛЯ САМОПОЛНЕНИЯ

Мы передаем результат поиска, который мы выполняем по интересующему нас тексту, переменной «вызывающей функцию options ()», в нашем случае мы передадим провинции, содержащие нашу таблицу, и предоставим правильный формат, чтобы может использоваться в части javaScript, например: "Альбасете", "Алава", ...

$ options = options ();

5. МЫ СОБИРАЕМ HTML-ЧАСТЬ

Мы определяем заголовок с вызовами соответствующих скриптов и CSS.

<! doctype html>
<Html>
<Head>
<meta charset = »utf-8">
<title> Поисковая система php autocompletado - WebReunidos </ title>

// Часть, соответствующая Jquery

<link rel = »таблица стилей» href = »// code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css»>
<script src = »https://code.jquery.com/jquery-1.12.4.js»> </ script>
<script src = »https://code.jquery.com/ui/1.12.0/jquery-ui.js»> </ script>
<Script>
$ (function () {

// Переменная, которая собирает результат запроса в таблице Provincias, Jquery будет работать над этим результатом, чтобы динамизировать операцию.
var availableTags = [&lt;? php echo $ options?>];
$ («#Buscador») .autocomplete ({
источник: доступные теги
});
});
</ script>
</ head>

6. HTML ТЕЛО

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

<Body>

<div class = »ui-widget»>
<label for = »поисковая система»> поисковая система: </ label>
<input id = »поисковая система»>
</ div>

</ body>
</ html>

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

Lt;?
Lt;?
Php echo $ options?