我有一个调用 PHP 文件的 Ajax 脚本,对 MySQL 进行查询,然后将响应格式化为 JSON,以便我可以使用它。我的问题是,使用 Ajax 调用发送的 1 个 id,我需要对不同的表进行多次查询,其中一些返回 1 个结果,一些返回多个结果。所有这些数据都必须使用相同的 Ajax 调用来获取,所以我的问题是如何正确格式化 JSON,以便我可以将它与 javascript 一起使用。这是我的 PHP:
try
{
$sql ="SELECT * FROM newLoads WHERE `id`='$id' LIMIT 1 ";
$s= $conn->query($sql);
}
catch (PDOException $e)
{
echo "Error SQL SELECT";
exit();
}
while ($row = $s->fetch())
{
$load['id'] = $row['id'];
$load['dateAdded'] = $row['dateAdded'];
...
$all['load'] = $load;
}
print json_encode($all);
返回为 {"load":{"id":"00000361","dateAdded":"2015-01-15"...}}
没关系,但是我如何继续下一个必须包含多个响应的查询?我尝试将第二个查询添加到 $all
,但它只适用于单个结果,而它可能是多个。我想这只是一个语法问题,但我是 Ajax 的新手,所以非常感谢任何帮助。
最佳答案
您可以这样做($s2
是您第二个查询的结果):
$all['items'] = array();
while ($row = $s2->fetch()) {
$all['items'][] = $row;
}
在 Javascript 中,您需要循环遍历项目,例如:
for (i = 0; i < j.items.length; i++) {
console.log(j.items[i]);
}
关于php - 具有不同 JSON 响应的 Ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28550282/