Как использовать новый автозаполнение Jqueryui с PHP + MySQL простым способом

77
6

Я искал почти каждый месяц каждый день для этого. В некоторых случаях они используют метод $.ajax, в других - $.post. На демоверсии jqueryui для автозаполнения http://jqueryui.com/demos/autocomplete/ вы можете видеть, что у них есть простой понятный способ захвата данных, чтобы показать его пользователю. Теперь вот моя проблема. Я пытаюсь сделать простой, короткий способ захвата списка имен из таблицы mysql. это то, что я имею прямо сейчас:


JS


$( "# Новичок" ). Автозаполнения ({  источник: "search.php",  minLength: 3,  select: function (event, ui) {} });


PHP


$nameser = $_POST ['usuario'];

$names = '';

$result = mysql_query ( "SELECT name FROM characters WHERE name LIKE '% $nameser%'" );

while ($ row = mysql_fetch_array ($ result)) {$ names. = "$ row [name]". "
"; }

echo $names;



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


Документация jquery не предоставляет простой способ сделать это в удаленном файле php.

спросил(а) 2021-01-19T17:57:28+03:00 6 месяцев назад
1
Решение
90

Если вы искали месяц и не нашли ничего, что должно быть каким-то чудом
обыскал 2 секунды, нашел много результатов


http://www.ajaxdaddy.com/demo-jquery-autocomplete.html


http://www.exploremyblog.com/html/blog_contents.php?blogid=300


http://www.thewhyandthehow.com/jquery-autocomplete/

есть миллионы из них
для вашего кода я бы сделал что-то вроде этого


  $(document).ready(function(){
$("#example").autocomplete("./search.php");
});

попробуйте


$nameser = $_GET['q'];

$names = '';

$result = mysql_query("SELECT name FROM characters WHERE name LIKE '%".$nameser."%'");

while ($row = mysql_fetch_array($result)) { $names .= $row[name]."\n"; }

echo $names;

ответил(а) 2021-01-19T17:57:28+03:00 6 месяцев назад
46

Никогда не использовал виджет, прежде чем мне пришлось потратить несколько минут, играя с ним. Кажется, ваша проблема, скорее всего, в том, что вы не возвращаете найденные данные в формате JSON. В простом тесте я использовал следующее как "search.php":


$ary[] = 'hi';
$ary[] = 'there';
$ary[] = 'world';

$o = json_encode($ary);
echo $o;

и он отлично работал.


Используемый HTML/Javascript был образцовой страницей виджета: http://jqueryui.com/demos/autocomplete/remote.html, который я загрузил на свой локальный сервер и, конечно, исправил пути ко всем включенным библиотекам и т.д., чтобы проверить его.

ответил(а) 2021-01-19T17:57:28+03:00 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема