2009-10-14 107 views
0

我一直在尋找一個N-level tree classN級樹PHP MYSQL幫助

任何人都可能建議我可以顯示結果的最佳方式,即循環結果集,我應該使用DIV還是UL?

一個例子的結果集類似,所以如果你覺得這篇文章太長閱讀

Array ([531] => stdClass Object ([id] => 531 [rid] => 0 [created] => 1255384549 [nleft] => 1 [nright] => 8 [nlevel] => 1) [534] => stdClass Object ([id] => 534 [rid] => 531 [created] => 1255384549 [nleft] => 2 [nright] => 3 [nlevel] => 2) [532] => stdClass Object ([id] => 532 [rid] => 531 [created] => 1255384587 [nleft] => 4 [nright] => 7 [nlevel] => 2) [533] => stdClass Object ([id] => 533 [rid] => 532 [created] => 1255384628 [nleft] => 5 [nright] => 6 [nlevel] => 3)) 

任何意見是apreciated

感謝

回答

1

找到我正在尋找的解決方案。

 function _generateTreeData(&$arr, $id, $level, &$n) 
    { 
     $arr[$id]->nlevel = $level; 
     $arr[$id]->nleft = $n++; 

     // loop over the node's children and process their data 
     // before assigning the nright value 
     foreach ($arr[$id]->children as $child_id) { 
      $this->_generateTreeData($arr, $child_id, $level + 1, $n); 
     } 
     $arr[$id]->nright = $n++; 
    } 

現在到格式化

0

還挺取決於你需要做什麼與輸出。我會親自使用未排序的列表或定義列表。

你想做什麼?

+0

本質上的螺紋論壇視圖 – blakey87 2009-10-14 22:38:50

0

將其輸出爲UL和LI。如果輸出過於複雜,可以在其上放置一個JavaScript「樹視圖」組件 - 最好是可以自動將UL轉換爲樹視圖的組件。