php - 具有不同 JSON 响应的 Ajax 调用

标签 php jquery mysql ajax json

我有一个调用 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/

相关文章:

php - 每次查询或脚本结束后关闭数据库连接

php/Mysql最好的树结构

php - ffmpeg 降低照片质量

javascript - jQuery 中有效的下拉登录框

javascript - 图像上的不透明度淡入淡出,使用 CSS3 或 JS?

MySQL 和动态查询错误 1064

php - 如何在 php 中将 html 表导出到 excel 或 pdf

php - 使用 PHP 获取表中的照片

jquery - 将 JSON 对象存储为复选框输入的值属性是否合法?

PHP 从单选数据中获取输入并插入到 MySQL 表中