欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

MySQL查詢結果轉為json樹結構

榮姿康2年前12瀏覽0評論

MySQL是一款廣泛應用于Web開發的關系數據庫管理系統。在Web應用中,使用MySQL存儲數據是很常見的操作。而在使用MySQL進行數據查詢時,我們有時需要將查詢結果轉換為json樹結構,以便于在Web應用中使用。

下面是一段示例代碼,演示如何將一個查詢結果轉換成json樹:

SELECT id, name, parent_id FROM departments
ORDER BY parent_id, id;
<?php
//連接數據庫
$conn = mysqli_connect("localhost", "root", "password", "database");
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
//查詢部門表
$result = mysqli_query($conn, "SELECT id, name, parent_id FROM departments
ORDER BY parent_id, id");
//將查詢結果轉換為json樹
$departments = array();
while ($row = mysqli_fetch_assoc($result)) {
$id = $row['id'];
$name = $row['name'];
$parent_id = $row['parent_id'];
if ($parent_id == null) {
//根節點
$departments[$id] = array(
'name' =>$name,
'children' =>array()
);
} else {
//非根節點
$departments[$parent_id]['children'][$id] = array(
'name' =>$name,
'children' =>array()
);
}
}
//將數組轉換為json
$json = json_encode(reset($departments)['children']);
echo $json;
//關閉連接
mysqli_close($conn);
?>

這段代碼中,我們使用了mysqli_fetch_assoc方法從MySQL數據庫中查詢部門表,并使用PHP的數組來構建json樹結構。具體來講:我們在while循環中遍歷所有查詢結果,將結果分類到根節點和非根節點中。對于根節點,我們創建一個以id為key的數組,表示該節點的信息。而對于非根節點,我們將它們作為該節點父節點的“兒子”,并在父節點的數組中建立一個以自己id為key的數組,表示該節點的信息。

最后,我們將構建好的數組轉換為json格式,并輸出到頁面中。

這段示例代碼僅用于演示如何將MySQL查詢結果轉換為json樹結構。在實際開發中,我們可能需要對代碼進行優化,以提高查詢效率、防止SQL注入等問題。