2009-10-14 65 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转换为树视图的组件。