[英]PHP - MySQL create a tree view from product table
我有一個類別表如下。 我在該表中保存類別,子類別(多個子類別)。 我的桌子看起來像
id | name | parent_of | created_on
-------+---------------+---------------+---------------------
1 | Name 1 | 0 | 2013-05-1 00:00:00
-------+---------------+---------------+---------------------
2 | Name 2 | 0 | 2013-05-1 00:00:00
-------+---------------+---------------+---------------------
3 | Name 3 | 1 | 2013-05-1 00:00:00
-------+---------------+---------------+---------------------
4 | Name 4 | 1 | 2013-05-1 00:00:00
-------+---------------+---------------+---------------------
5 | Name 5 | 3 | 2013-05-1 00:00:00
-------+---------------+---------------+---------------------
6 | Name 6 | 3 | 2013-05-1 00:00:00
-------+---------------+---------------+---------------------
現在,我需要查詢此表並創建一個樹結構,如下所示,以便輕松瀏覽前端的類別。
一棵樹如下
1
|--> 3
| |--> 5
| |--> 6
|--> 4
2
我對查詢感到有點困惑。 誰能幫幫我嗎 ?
提前致謝
對於基本顯示,您可以使用:
SELECT * FROM `Table` WHERE `parent_of` = 0;
它將為您提供所有根節點。
當用戶單擊某個節點時,他/她/它會向服務器提交請求(可能是Ajax)以獲取點擊的節點的子節點,如:
$node = abs((int)$_GET['node']);
然后:
SELECT * FROM `Table` WHERE `parent_of` = {$node};
請為您的解決方案嘗試以下代碼邏輯,
$result = mysql_query("SELECT id, parent_of FROM category WHERE parent_of > 0");
$treeStructure = array();
while($row = mysql_fetch_array($result)) {
$id = $row['id'];
$parentID = $row['parent_of'];
$treeStructure[$parentID][] = $treeStructure[$id];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.