同时以单行返回值

时间:2012-11-28 13:47:27

标签: php ajax

我正在使用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

我做错了什么?我在这里找不到问题。

5 个答案:

答案 0 :(得分:3)

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

虽然您的Web服务确实应该以更好的格式返回数据,例如JSON,然后您应该使用javascript来破解数据。

答案 1 :(得分:2)

尝试

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

答案 2 :(得分: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;

答案 3 :(得分: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解码

答案 4 :(得分:1)

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

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

} 

注意

不推荐使用

mysql_*功能,请使用PDOMySQLi