Intereting Posts
Числа в кавычках с использованием json_encode () PHP Curl Paypal Песочница Проблема с эскизом сообщения WordPress (только 1 миниатюра на главной странице) Учебник по отправке UPS (PHP) Неустранимая ошибка: класс «Zend \ Form \ Element» не найден Сохранить base64encoded изображение на серверную базу данных как BLOB Laravel 5: включить laravel-debugbar В Laravel 5, как я могу получить список всех файлов в общей папке? Propel, переводя неправильные имена таблиц запись объекта JSON в файл .json на сервере Facebook Graph API v2.1: получение идентификатора пользователя и его сообщений Laravel назвал маршрут для контроллера ресурсов Есть ли более простой способ проверить, равна ли переменная множеству чисел? Как предотвратить XSS с HTML / PHP? Запрос веб-сайта по сценарию на стороне клиента = Скрипт с перекрестным скриптом. Но запрашивать веб-сайт по сценарию на стороне сервера – это не взлом! Зачем?

Получение jQuery autocomplete для работы с источником PHP

У меня есть поле автозаполнения jQuery с этим кодом:

var tags = ["a", "ab", "abc", "abcd", "adbce", "abcdef", "abcdefg", "abcdefgh", "abcdefghi", "abcdefghij", "abcdefghijk", "abcdefghijkl", "abcdefghijklm", "abcdefghijklmn", "abcdefghijklmno", "abcdefghijklmnop", "abcdefghijklmnopq", "abcdefghijklmnopqr", "abcdefghijklmnopqrs", "abcdefghijklmnopqrst", ]; $("input#name").autocomplete({ position: { offset: "0 -10px", }, source: tags }); 

Он корректно работал с использованием массива 'tags' в качестве входных данных образца.

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

 $("input#name").autocomplete({ position: { offset: "0 -10px", }, source: "http://absolutepathtofile/autosuggest.php" }); 

Я использовал абсолютный путь, чтобы быть уверенным, что я не совершал какую-то глупую ошибку, потому что я не могу вернуть файл в автозаполнение. Я был в документации jQuery и нашел несколько примеров использования PHP / MySQL для возврата результатов автозаполнения, но я не могу заставить его работать.

Это то, что я пробовал в autosuggest.php:

 $term = $_REQUEST['term']; $query = "SELECT * FROM merchants WHERE business_name LIKE '%$term%'"; $result = mysql_query($query); $k=0; while($row=mysql_fetch_array($result)){ $aUsers[$k]=$row['business_name']; $k++; } echo json_encode($aUsers); в $term = $_REQUEST['term']; $query = "SELECT * FROM merchants WHERE business_name LIKE '%$term%'"; $result = mysql_query($query); $k=0; while($row=mysql_fetch_array($result)){ $aUsers[$k]=$row['business_name']; $k++; } echo json_encode($aUsers); 

Я сделал это как можно проще, но это не сработало.

Затем я проверил, чтобы отправить JSON вообще, поэтому я сделал это:

 $array[0]="test"; $array[1]="test1"; echo json_encode($array); 

И это не сработает. Я не могу найти эту проблему нигде, что я делаю неправильно? PHP-версия – 5.3.10, и она имеет json_encode (используется раньше).

     $.ajax({ url:"http://absolutepathtofile/autosuggest.php", type:"post", success:function(html){ $("#user_phone").autocomplete( {position: {offset: "0 -10px"}, source: html }); } }); 
    • работать для меня и тестировать

    Я написал этот специальный скрипт, чтобы получить сбой, работающий в нашем коде, когда у нас не было json_encode, надеюсь, это поможет вам что-то сделать.

    Функция get_xref_values ​​() только строит массив из предоставленных параметров, а GET – термин – это текст в текстовом поле автозаполнения, он автоматически добавляется элементом управления.

    Код «щелчок» просто автоматически выпадает из автозаполнения, когда пользователь нажимает на него, а также при их вводе.

    Вот jquery:

     $("#libraryEventAspectRatio" ).autocomplete({ source: "/dropDowns/autoXref.php?category=" + "aspectratio", matchContains: true, minLength: 0 }).click(function(){ $("#libraryEventAspectRatio" ).autocomplete('search', $(this).val()); }); 

    и вот php:

     //this page creates simple data for a drop down box to use (jquery's UI autocomplete) $category = get_input_get("category"); $description = get_input_get("term"); $select_field = get_input_get("selectField"); $select_value = get_input_get("selectValue"); $order_by = "description"; $xref_data = get_xref_values($category, $order_by, $description, $select_field, $select_value); $str = "["; foreach ($xref_data as $row): $str .= '"' . $row['description'] . '",'; endforeach; //chop off the last comma if (count($xref_data)) { $str = substr($str,0,-1); } $str .= "]"; echo $str;