簡體   English   中英

PHP - MySQL從產品表創建樹視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM