0

我正在使用ajax并通过以下方法返回值

$query = mysql_query("SELECT DISTINCT * FROM symptom WHERE symptom LIKE '%$key%'")or die('couldnt select');
while(($row = mysql_fetch_array($query))!=false){

    echo $row['disease'];

}   

但是在 ajax 函数中收到的结果显示了类似的结果

streppneumonia

代替

strep
pneumonia

我在做什么错?我只是无法解决这里的问题。

4

5 回答 5

3

快速解决:echo $row['disease'].'<br />';

虽然实际上您的 Web 服务应该以更好的格式(如 JSON)返回数据,但您应该从那里使用 javascript 来分解数据。

于 2012-11-28T13:48:21.263 回答
2

尝试

echo $row['disease'].'<br />';
于 2012-11-28T13:48:23.060 回答
1
$query = mysql_query("SELECT DISTINCT * FROM symptom WHERE symptom LIKE '%$key%'")or die('couldnt select');
$str = '';
while(($row = mysql_fetch_array($query))!=false){

    $str .= $row['disease']. "<br>";

} 

echo $str;
于 2012-11-28T13:58:15.070 回答
1

使用ajax并返回多个值时,以json格式发送。尽管您可以在客户端使用 break 标记进行中断,但您无法区分多个值:

<?php
$query = mysql_query("SELECT DISTINCT * FROM symptom WHERE symptom LIKE '%$key%'")or die('couldnt select');
while(($row = mysql_fetch_array($query))!=false){

    $diseases[] =  $row['disease'];

} 

echo json_encode($diseases);

?>

后来在客户端通过js解码

于 2012-11-28T13:59:37.383 回答
1

尝试

while(($row = mysql_fetch_array($query))){

    echo $row['disease'].'<br>';

} 

笔记

mysql_*功能已弃用,请使用PDOMySQLi

于 2012-11-28T14:35:08.083 回答