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

0

Я искал почти каждый месяц каждый день для этого. В некоторых случаях они используют метод $.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.

  • 0
    Не ответ на ваш вопрос, но я молюсь, чтобы вы не использовали приведенный выше код буквально - вы не избежали $ nameser, что означает, что любой, кто хотел, мог прийти и сказать ... удалить вашу базу данных.
Теги:
autocomplete

2 ответа

3
Лучший ответ

Если вы искали месяц и не нашли ничего, что должно быть каким-то чудом обыскал 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;
  • 0
    На самом деле я потратил несколько минут, чтобы протестировать это (как я никогда раньше не использовал виджет), и ответ выше совершенно неправильный - список с разделителями новой строки не будет работать - он ожидает json.
  • 0
    ну, я просто следовал тому, что было сказано thewhyandthehow.com/jquery-autocomplete
Показать ещё 10 комментариев
0

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

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

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню