我有一个有两列的MySQL表 customer_id和item_id,
customer_id可以有多个item_id,(一对多关系),
如何使用MySQL和PHP表示/循环返回的查询生成JSON输出(类似于上面的结构)?
例如,我希望我的JSON输出看起来像这样:
{
"data":
{
"customer_id": "10",
"item_id": " 1"
},
{
"customer_id": "10",
"item_id": " 2"
},
{
"customer_id": "10",
"item_id": " 3"
}
}
感谢。
答案 0 :(得分:1)
我猜你会从MySQL获取数据。
$results = mysqli_query("SELECT customer_id, item_id FROM your_table_name");
$data = array();
while($result = mysqli_fetch_assoc($results)) {
$data['data'][] = $result;
}
echo json_encode($data);
答案 1 :(得分:0)
有很多方法可以做到这一点。这是一个建议。
$data = [
'Customer' => [
'customer_id' => 29973,
],
'Item' => [
['item_id' => 1 ],
['item_id' => 2 ],
['item_id' => 3 ]
]
];
echo json_encode($data) . "\n";
输出:
{
"Customer": {
"customer_id": 29973
},
"Item": [
{
"item_id": 1
},
{
"item_id": 2
},
{
"item_id": 3
}
]
}