2012-02-02 3 views
0

Привет, я пишу код для ввода текста, который использует jquery auto complete, но jquery auto complete не может извлекать данные из mysql, используя мой PHP-код.
Что не так в моем коде?
ниже мой код JavascriptJQuery auto complete не может извлекать значения из базы данных

<link href="_style/css/smoothness/jquery-ui-1.8.17.custom.css" type="text/css" rel="stylesheet" /> 
<script type="text/javascript" src="_scripts/js/jquery-1.7.1.min.js"></script> 
<script type="text/javascript" src="_scripts/js/jquery-ui-1.8.17.custom.min.js"></script> 
<script type="text/javascript"> 
$(function() { 
$("#autocomplete").autocomplete({ 
source: "search.php", 
minLength: 2, 
select: function(event, ui) { 
log(ui.item ? 
"Selected: " + ui.item.value + " aka " + ui.item.id : 
"Nothing selected, input was " + this.value); 
} 
}); 
}); 
</script> 
<body> 
<input type="text" id="autocomplete" /> 
</body> 

и это мой PHP код:

<?php 
include "Connect.php"; 
$term = trim(strip_tags($_GET['term'])); 
$qstring = "SELECT pName as value,pID FROM patient WHERE pName LIKE '%".$term."%'"; 
$result = mysql_query($qstring, $connection);//query the database for entries containing the term 
while ($row = mysql_fetch_array($result))//loop through the retrieved values 
{ 
$row['pName']=htmlentities(stripslashes($row['pName'])); 
$row['pID']=(int)$row['pID']; 
$row_set[] = $row;//build an array 
} 
echo json_encode($row_set);//format the array into json data 
?> 

помочь мне исправить мои проблемы кода!

+1

Является ли ваш php-скрипт возвращением данных? – tftd

+0

Я проверяю свой PHP-код без автоматического полного редактирования текста и вижу, что мой PHP-код работает правильно! –

ответ

0

я не знаю, если есть что-нибудь в вашей функции JQuery, но вот то, что я вижу плохого в вашем PHP

Вместо этого:

$row['pName']=htmlentities(stripslashes($row['pName'])); 

Используйте это:

$row['pName']=htmlentities(stripslashes($row['value'])); 

Когда вы используете AS, чем вам нужно использовать для получения значений

H ERE - ПОЛНАЯ КОРРЕКЦИЯ К ВАШЕМУ PHP-КОДУ

$qstring = "SELECT pName as value,pID FROM patient WHERE pName LIKE '%".$term."%'"; 
$result = mysql_query($qstring, $connection); 

$row_set = array(); //u have to define the row_set array 
while ($row = mysql_fetch_array($result)) 
{ 
    $row_set['pName']=htmlentities(stripslashes($row['value'])); 
    $row_set['pID']=(int)$row['pID']; 
} 

echo json_encode($row_set); 
+0

Я делаю ваше предложение, но код не работает! –

+0

попробуйте изменить имя массива ... вы уже используете 'row' для извлечения –

+0

Я изменил имя массива, но код не работает! –

0

Используйте Firebug, чтобы подтянуть ответ. Он сделает таблицу вашего результата JSON для легкой отладки.

+0

Как я могу увидеть результаты JSON в firebug? –

+0

Под вкладкой консоли в меню F12. Разверните запрос, затем нажмите на JSON. –

+0

OK спасибо за вашу помощь. Я вижу, что PHP-код работает хорошо и возвращает данные. Но я не вижу результатов с автозаполнением! –