0

我正在做一个知识库

我有我的类别,例如:

身份证 | 父ID | 姓名 | 等级

我想使用 ajax 或其他东西,以便当我检索结果时,它看起来像一个 Windows 资源管理器文件夹,如:

  • 第一类

    • 子类
    • 子类 b
  • 第 2 类

    • 子类
    • 子类 b

单击 + 将展开文件夹。我用谷歌搜索了它,但我能找到的只是目录列表,这不是我想要的,因为这些是 mysql 表而不是目录。

任何帮助将不胜感激!

4

1 回答 1

0

在某个地方,也许在 PHP 中,您需要编写以下代码:

  • 查询数据库
  • 遍历结果的行
  • 建立基于父ID的层次结构

它看起来像这样:

$pointers = array();  //points to each subnode of the hierarchy by ID
$pointers[1] = array();
$query("SELECT ID, Parent_ID, NAME, LEVEL FROM tablename");
foreach($pdo->query($query) as $row){
    if(isset($pointers[$row['Parent_ID']])){
        //found the parent
        $newchild = array();
        $pointers[$row['Parent_ID']][$row['ID']] = &$newchild;
    }else{
        $newparent = array();
        $newchild = array();
        $pointers[$row['Parent_ID']] = &$newparent;
        $pointers[$row['Parent_ID']][$row['ID']] = &$newchild;
    }
}

然后,假设对象ID = 1是根节点,整个层次结构可以访问为:

$hierarchy = $pointers[1];

警告:我还没有测试过这些

于 2013-07-07T18:24:42.143 回答