Список автозаполнения JQuery PHP не фильтруется в соответствии с вводом - PullRequest
0 голосов
/ 16 февраля 2012

У меня есть поле ввода, для которого я использую функцию автозаполнения Jquery.Когда я печатаю в поле ввода, список отображается правильно с 16 первыми «значениями».Когда я нажимаю на одно из значений, поле ввода заполняется этим значением.Так что пока все ок.Моя проблема заключается в следующем.Список не отфильтрован по моим данным.Список остается статичным.Я не понимаю почему.Надеюсь, кто-то может помочь.Заранее благодарю за ваши ответы.Приветствия.Марк.

Мой HTML:

<input type="text" id="moi"/>

Мой PHP:

<?php
header('Content-Type: text/html; charset=utf-8');
require("../inc/connect.inc.php");
mysql_set_charset('utf8'); 

$result = mysql_query("SELECT * FROM search_loc_test");
$row=mysql_fetch_assoc($result);

$return = array();
while($row=mysql_fetch_assoc($result)){
    array_push($return,array('label'=>$row['seaerch_loc'],'value'=>$row['seaerch_loc']));}

echo(json_encode($return));
?>

Мой JS:

$( "#moi" ).autocomplete({
            source: "php/search_loc.php",
            minLength: 2
        });

1 Ответ

2 голосов
/ 16 февраля 2012

Вам необходимо обновить SQL-запрос для обработки term, отправленного автозаполнением.

Когда ваш источник вызывается (через GET), он будет вызываться следующим образом:

php/search_loc.php?term=bb

Итак, в вашем PHP-скрипте вам нужно взять поисковый запрос и использовать его для фильтрации результатов из БД ... Что-то вроде:

$term = mysql_real_escape_string($_GET['term']);
$query = 'SELECT * FROM search_loc_test WHERE <fieldname> like "' . $term . '%"

Документы дляНРАВИТСЯ здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...