jQuery Autosuggest - PullRequest
       3

jQuery Autosuggest

1 голос
/ 21 октября 2011

Я довольно новичок в jQuery, поэтому мне нужна некоторая помощь: я только начал использовать jQuery Autosuggest Plugin , потому что я действительно помог бы своему сайту.Я скачал все файлы, связал их с моим сайтом и использовал это, чтобы установить автозаполнение ввода:

<script>
$(document).ready(function(){
    $("#postna").autoSuggest("get.php");
})
</script>

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

<?php
require_once 'includes/mysql.class.php';

$input = $_GET['q'];
$data = array();

$qu = new MySQL();
$qu->rQuery("SELECT id,name FROM cities WHERE name LIKE '$input%'");
$data = $qu->getRows();
foreach($data as $a){
    $json = array();
    $json['value'] = $a['id'];
    $json['name'] = $a['name'];
    $data[] = $json;
}
header("Content-type: application/json");
echo json_encode($data);
?> 

Проблема сейчас в том, что при вводе текставозвращает «Результаты не найдены», но если я перехожу на /get.php?q=velenje (velenje - это название города), он повторяет это:делать неправильно?

Ответы [ 2 ]

1 голос
/ 21 октября 2011

Вы извлекаете результаты вашего запроса MySQL в массив $data, а затем продолжаете редактировать этот массив в цикле.Попробуйте это:

$data = array();
$qu = new MySQL();
$qu->rQuery("SELECT id,name FROM cities WHERE name LIKE '$input%'");
$rows = $qu->getRows();
foreach($rows as $a){
    $json = array();
    $json['value'] = $a['id'];
    $json['name'] = $a['name'];
    $data[] = $json;
}    
header("Content-type: application/json");
echo json_encode($data);

РЕДАКТИРОВАТЬ : я забыл заметить, что вы, похоже, не дезинфицируете свои данные ... Таблицы Бобби показывает нам, почемумы не должны этого делать.

0 голосов
/ 21 октября 2011

Используйте на стороне клиента полный путь к вашему скрипту:

<script>
$(document).ready(function(){
    $("#postna").autoSuggest("http://yoursite.com/get.php");
})
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...