如果我用自定义值和变量替换while循环,我可以通过数据传递,但是while循环不能,我想知道为什么?我已经用硬编码的json值分别测试了while循环,它确实从数据库中返回值,所以不能说php已经坏了!
对于以下代码,
$display_string = "<table>";
$display_string .= "<tr>";
$display_string .= "<th>Name</th>";
$display_string .= "<th>Phone</th>";
$display_string .= "<th>Pricing</th>";
$display_string .= "<th>Email</th>";
$display_string .= "</tr>";
此部分显示在ajax调用启动页面中,但不显示在下面的while循环内容:
while($row = mysql_fetch_array($qry_result)){
$display_string .= "<tr>";
$display_string .= "<td>".$row['Name']."</td>";
$display_string .= "<td>".$row['Phone']."</td>";
$display_string .= "<td>".$row['pricing']."</td>";
$display_string .= "<td>".$row['Email']."</td>";
$display_string .= "</tr>";
}
我应该用'james','012567890等自定义值替换$ row ['Name'],$ row ['Phone']等等,但它可以正常工作!
这是我回应echo $display_string;
这是ajax调用&gt;
$("document").ready(function(){
$(".form").submit(function(){
var data = {
"action": "test"
};
data = $(this).serialize() + "&" + $.param(data);
$.ajax({
type: "POST",
dataType: "html",
url: "search_subject.php", //Relative or absolute path to response.php file
data: data,
success: function(data) {
$(".the-return").html( $(data) );
alert("Form submitted successfully.\nReturned json: " + data["json"]);
// window.location='success.php';
}
});
return false;
});
});
我在这里提到过:AJAX fails while get data from while() loop in php但无法获得解决方案!
查询 //从Query String中检索数据 $ a = $数据[ '子']; $ B = $数据[ '率2']; $ subject_rate = array_intersect_key($ b,$ a);
foreach($subject_rate as $v=>$k)
{
$key[]=$v;
$value=$k;
}
$key2=implode(',',$key);
//build query
//echo $query = "SELECT * FROM posts WHERE subid IN $key2";
$query= "SELECT * FROM posts WHERE subid IN ('$key2')";
$qry_result = mysql_query($query) or die(mysql_error());
答案 0 :(得分:1)
尝试
mysql_fetch_assoc()
而不是
mysql_fetch_array()
也不要忘记在“search_subject.php”文件中回显$ display_string