什么查询可以让我得到这个结果?JSON和PHP

LACROIX
{
    "cars": {
        "toyota": [
            {"model":"*****", "doors":"*","color":"*****"},
            {"model":"*****", "doors":"*","color":"*****"}
                  ],
        "Ford": [
            {"model":"*****", "doors":"*","color":"*****"},
            {"model":"*****", "doors":"*","color":"*****"}
        ]
    }
}

什么查询会给我以下结果?

这是一个JSON对象(汽车),其中包含用于不同汽车模型的多个数组。在每个数组中,将包含其他类型的数据,例如门,颜色,年份...等等。

我尝试了这段代码:

<?php 

require 'conn_pdo.php';

$conn -> setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC); 

$sql = "select * from test_cars where cars in (select cars from test_cars GROUP BY cars) ORDER BY RAND()";

$stmt = $conn -> prepare($sql);
$stmt -> execute();
$row = $stmt -> fetchAll();
$json['cars'] = $row;
echo json_encode($json);

?>

但是结果不是我希望的

{ "cars": 
         [ {"model":"*****", "doors":*","color":*****"},  
           {"model":"*****","doors":"*","color":*****"} ,
           {"model":"*****", "doors":"*","color":*****"}, 
           {"model":"*****", "doors":"*","color":*****"},
           .......
         ] 
}

我得到了汽车对象,其中包含一个用于所有不同型号汽车的数组

半身人

这是一种方法。我删除了该GROUP BY方法,因为问题中的方法未正确使用它-它通过使用IN查询将分组扔掉了我认为用PHP还是很容易做到的。

// It would be good to check to ensure you have a valid connection,
// and that the prepare/execute calls are successful
$sql = "SELECT * from test_cars";
$stmt = $conn->prepare($sql);
$stmt->execute();
$rows = $stmt->fetchAll();

$out = [];
foreach ($rows as $row)
{
    // Let's process by brand (since you have not shown your
    // schema, you will need to adjust column names to suit)
    $brand = $row['brand'];

    // Get other data
    $model = $row['model'];
    $doors = $row['doors'];
    $colour = $row['colour'];

    // Check to ensure the brand is an array, so that we don't
    // get an error when we push
    if (!isset($out[$brand]))
    {
        $out[$brand] = [];
    }

    // Now push the data on to the end (using [])
    $out[$brand][] = [
        'model' => $model,
        'doors' => $doors,
        'colour' => $colour,
    ];
}

$json['cars'] = $out;
echo json_encode($json);

这未经测试,但应该可以为您提供总体思路。与堆栈溢出的所有答案一样,您应该期望对其进行一些调整。我使用了新的数组语法(自PHP 5.4起),但是如果将其交换为,它将在较早的版本上工作array()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有人可以解释为什么我用sql查询得到这个错误

来自分类Dev

连接数字和字符串为什么我得到这个结果

来自分类Dev

Acumatica没有UNION JOIN for Report Designer,有什么办法可以得到这个结果?

来自分类Dev

为什么我用这个不同步的代码反复得到相同的结果?

来自分类Dev

xpath为什么我在这个expth中得到空结果

来自分类Dev

为什么我得到这个结果(在退出之前,同一线程进入两次)?

来自分类Dev

为什么我没有得到这个Metal内核的结果

来自分类Dev

为什么我在数组的后半部分得到这个结果?

来自分类Dev

当我从 MongoDB 查询时,为什么会得到这个对象?

来自分类Dev

为什么我得到这个输出

来自分类Dev

我从recvfrom得到的这个地址是什么?

来自分类Dev

为什么我得到这个sqlite错误?

来自分类Dev

为什么我得到这个约会?

来自分类Dev

为什么我得到这个号码?

来自分类Dev

为什么我得到这个分段错误

来自分类Dev

为什么我得到这个错误的输出?

来自分类Dev

为什么我得到这个错误的输出?

来自分类Dev

有人可以解释为什么我在 Python 中得到这个输出吗?

来自分类Dev

我在此查询中得到0个结果。我究竟做错了什么?(安卓)

来自分类Dev

为什么无法得到查询结果

来自分类Dev

无法计算出可以得到我想要的结果的 SQL 查询

来自分类Dev

为什么我从这个JSON对象中得到“未定义”?

来自分类Dev

我如何从这个异步函数中得到结果?

来自分类Dev

为什么在这个程序中我在所有情况下都得到 0% 的结果?

来自分类Dev

谁能告诉我为什么我在python中使用gmtime和mktime,得到错误的结果?

来自分类Dev

If 语句和后增量作业:我没有得到我期望的结果 - 为什么?

来自分类Dev

Linq Select为什么我得到结果?

来自分类Dev

为什么我得到空结果?

来自分类Dev

为什么我得到不同的结果?

Related 相关文章

  1. 1

    有人可以解释为什么我用sql查询得到这个错误

  2. 2

    连接数字和字符串为什么我得到这个结果

  3. 3

    Acumatica没有UNION JOIN for Report Designer,有什么办法可以得到这个结果?

  4. 4

    为什么我用这个不同步的代码反复得到相同的结果?

  5. 5

    xpath为什么我在这个expth中得到空结果

  6. 6

    为什么我得到这个结果(在退出之前,同一线程进入两次)?

  7. 7

    为什么我没有得到这个Metal内核的结果

  8. 8

    为什么我在数组的后半部分得到这个结果?

  9. 9

    当我从 MongoDB 查询时,为什么会得到这个对象?

  10. 10

    为什么我得到这个输出

  11. 11

    我从recvfrom得到的这个地址是什么?

  12. 12

    为什么我得到这个sqlite错误?

  13. 13

    为什么我得到这个约会?

  14. 14

    为什么我得到这个号码?

  15. 15

    为什么我得到这个分段错误

  16. 16

    为什么我得到这个错误的输出?

  17. 17

    为什么我得到这个错误的输出?

  18. 18

    有人可以解释为什么我在 Python 中得到这个输出吗?

  19. 19

    我在此查询中得到0个结果。我究竟做错了什么?(安卓)

  20. 20

    为什么无法得到查询结果

  21. 21

    无法计算出可以得到我想要的结果的 SQL 查询

  22. 22

    为什么我从这个JSON对象中得到“未定义”?

  23. 23

    我如何从这个异步函数中得到结果?

  24. 24

    为什么在这个程序中我在所有情况下都得到 0% 的结果?

  25. 25

    谁能告诉我为什么我在python中使用gmtime和mktime,得到错误的结果?

  26. 26

    If 语句和后增量作业:我没有得到我期望的结果 - 为什么?

  27. 27

    Linq Select为什么我得到结果?

  28. 28

    为什么我得到空结果?

  29. 29

    为什么我得到不同的结果?

热门标签

归档