有来自数据库的数据的PHP treeview吗?

时间:2010-01-22 09:14:44

标签: php treeview datasource

我想知道是否存在来自mysql的数据的php treeview。我没有为我的项目找到一个suitalbe。你知道那里有一些插件或代码样本吗?

非常感谢。

编辑:

jQuery Treeview的异步示例link text

我发现它可以工作,但我不知道如何获得source.php。你有什么想法或其他建议吗?

2 个答案:

答案 0 :(得分:2)

你需要自己运行查询,但这很容易。树期望的输出是json格式的对象数组,如下例所示。

您的表格结构可能是:

tree_node(id,title,parent_id)

你会选择根节点,然后是子节点,递归地直到树完成。

function expandTree($node)
{
  $result = array('text' => $node['title'], 'children' => array());
  $nodes = getChildren($node);  // query all nodes whose parent_id = $node['id']
  foreach ($nodes as $node) {
    $result['children'][] = expandTree($node);
  }
  return $result;
}

输出格式:

[
{
    "text": "1. Pre Lunch (120 min)",
    "expanded": true,
    "classes": "important",
    "children":
    [
        {
            "text": "1.1 The State of the Powerdome (30 min)"
        },
        {
            "text": "1.2 The Future of jQuery (30 min)"
        },
        {
            "text": "1.2 jQuery UI - A step to richnessy (60 min)"
        }
    ]
},
{
    "text": "2. Lunch  (60 min)"
},
[...]

答案 1 :(得分:1)

假设您有父母和孩子的数据库,请查看

http://www.ideashower.com/our_solutions/create-a-parent-child-array-structure-in-one-pass/& http://www.phpriot.com/articles/nested-trees-1

正确排序数据后,您可以查看渲染数据。