下午好, 我想在PHP中將這些結果導入到數組中,這樣我就可以將它們編碼爲json對象並將它們發送給客戶端。查詢的結果是這樣的:mysql到json使用php。嵌套對象
id name hours cat status
3bf JFK Int 24 pass open
3bf JFK Int 24 std closed
3bf JFK Int 24 exp open
5t6 Ohm CA 18 pass closed
5t6 Ohm CA 18 std closed
5t6 Ohm CA 18 std2 open
5t6 Ohm CA 18 exp open
...
我想爲JSON對象看起來像這樣:
{ "id": "3bf", "name": "JFK Int", "cats":
{ [ { "cat": "pass", "status": "open" },
{ "cat": "std", "status": "closed" },
{ "cat": "exp", "status": "open" } ] }
{ "id": "5t6", "name": "Ohm CA", "cats":
{ [ { "cat": "pass", "status": "closed" },
{ "cat": "std", "status": "closed" },
{ "cat": "std2", "status": "open" } ],
{ "cat": "exp", "status": "open" } ] }
我已經成功地連接到MySQL和使用json_encode使用平面表中導出的,但這部分我不知道如何在PHP中做。謝謝。
這是我的代碼。這將返回JSON對象的數組,但它是平的,不嵌套:
$SQL = "SELECT id, name, hours, cat, status FROM bwt.vewPortCats";
$result = mysql_query($SQL);
$arr = array();
while ($row = mysql_fetch_assoc($result)) {
$arr[] = $row;}
$json = json_encode($arr);
echo $json;
數據本身是從結合表端口和貓的圖。
你能告訴我們你的PHP代碼嗎?有從不同的方式提取數據從MySQL和解決方案取決於你有什麼(IE mysqli,Pdo ...)。你可能做的是使用foreach遍歷「外部」元素,然後再遍歷內部元素(同一構造)。你有一個多維數組的輸出,然後你可以轉換爲JSON與json_encode – maraspin
使用group by查詢id和名稱,group_concat獲取數組對象的類別...提供SQL可以給你的例子 – bensiu
好由maraspin評論。代碼示例和更多,請檢查http://php.net/manual/en/function.json-encode.php – supertopi