需要使用PHP$\u GET使我的json结果如下所示

需要使用PHP$\u GET使我的json结果如下所示,php,mysql,json,Php,Mysql,Json,对于大学作业,我需要能够读取和创建mysql数据库中的数据。问题是,当我得到数据时,我将其编码为json,但问题是json的布局符合我的预期或需要。我想知道是否有人能找出数据库中的表是如何设置的问题,还是我的PHP代码有问题。我使用postman插入URL,然后将正文更改为json 这是我也需要的东西看起来: { "oid": "AB123456X", "comments": [ { "name": "Mary",

对于大学作业,我需要能够读取和创建mysql数据库中的数据。问题是,当我得到数据时,我将其编码为json,但问题是json的布局符合我的预期或需要。我想知道是否有人能找出数据库中的表是如何设置的问题,还是我的PHP代码有问题。我使用postman插入URL,然后将正文更改为json

这是我也需要的东西看起来:

{
      "oid": "AB123456X",
      "comments": [
          {
                "name": "Mary",
                "comment": "This is a comment"
          },
          {
                "name": "Anonymous",
                "comment": "Another comment"
          }
          ]
}
下面是当我$\u获得时它当前的样子:

{
    "oid": "ABC123",
    "0": {
        "name": "Lucas",
        "comment": "Hello"
    },
    "1": {
        "name": "Kain",
        "comment": "Hello"
    },
    "2": {
        "name": "Harry",
        "comment": "Hello"
    },
    "3": {
        "name": "Will",
        "comment": "Hello"
    },
    "4": {
        "name": "Ana",
        "comment": "Hello"
    },
    "5": {
        "name": "Elanor",
        "comment": "Hello"
    },
    "6": {
        "name": "Amy",
        "comment": "Hello"
    },
    "7": {
        "name": "Will",
        "comment": "Hello"
    }
}
以下是我当前获取数据并显示数据的PHP代码:

$result = $conn->query("SELECT name, comment 
                        FROM objects WHERE oid='$oid'");

while($row = $result->fetch_assoc()) {
   $json_array[] = $row;
}

echo json_encode($json_array, true);
这是我数据库中的表格:


任何帮助都将不胜感激

首先,创建一个数组来存储数据。此数组需要两个键,
oid
comments
。为
oid
键分配
$oid
的值。
comments
键应该包含一个空数组

在循环中,只需将
$row
变量添加到
注释
键数组中

$result = $conn->query("SELECT name, comment 
                        FROM objects WHERE oid='$oid'");

$json_array = [
    'oid' => $oid,
    'comments' => []
];

while($row = $result->fetch_assoc()) {
   $json_array['comments'][] = $row;
}

echo json_encode($json_array, true);