我正在使用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
我做错了什么?我在这里找不到问题。
答案 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_*
功能,请使用PDO
或MySQLi