0

我一直在看一个N 级树类

谁能建议我可以显示结果的最佳方式,即结果集的循环,我应该使用 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 ) )

任何建议都值得赞赏

谢谢

4

3 回答 3

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++;
    }

现在进入格式化

于 2009-10-15T21:35:27.277 回答
0

将其输出为 UL 和 LI。如果输出太复杂,您可以在其顶部放置一个 JavaScript“树视图”组件 - 最好是可以自动将 UL 转换为树视图的组件。

于 2009-10-14T22:50:34.817 回答
0

有点取决于您需要对输出做什么。我个人会使用未排序的列表或定义列表。

你想做什么?

于 2009-10-14T22:36:43.507 回答