Php 从mysql数据库构建一个家族树,它有一些模式

Php 从mysql数据库构建一个家族树,它有一些模式,php,mysql,Php,Mysql,我只需要一个php代码,从mysql检索数据,并建立一个家谱 Sql数据具有以下架构 (Id, Name, ParentId1, ParentId2) 我将按如下方式插入数据: INSERT INTO table_name (`Id`, `Name`, `ParentId1`, `ParentId2`) VALUES ('100', 'Name_1', 'Parent_1', 'Parent_2') 如果为parentId1和ParentId2指定了0,则他位于族的顶部。 代码应基于pa

我只需要一个php代码,从mysql检索数据,并建立一个家谱

Sql数据具有以下架构

(Id, Name, ParentId1, ParentId2)  
我将按如下方式插入数据:

INSERT INTO table_name (`Id`, `Name`, `ParentId1`, `ParentId2`)
VALUES ('100', 'Name_1', 'Parent_1', 'Parent_2')
如果为parentId1和ParentId2指定了0,则他位于族的顶部。 代码应基于parentId1和parentId2生成族谱。根据匹配的parentId,名称应附加到父项。或者,如果我指定两个示例婚姻之间的关系,那么它们应该在代码中连接。
如果您只需告诉我如何设计或方法的概述就可以了。

我使用此功能来完成此操作。 我创建的这个函数返回一个带有线性数据树的表

你可以按照这个想法来定制

static function display_child_nodes($parent_id, $level,$data,$index,$dr){//first level=  NULL,0
       global $data, $index,$dr;

       if(is_null($parent_id)){
            $parent_id ="NULL";
       }

       if (isset($index[$parent_id])) {           
            foreach ($index[$parent_id] as $id) {
                $mark=NULL;
                if($level<1){
                    $content = $data[$id][PROCEDIEMNTOS_PROFISSIONAIS_NOME];

                }
                else{
                    $content =str_repeat("&nbsp", $level*2) .$data[$id][PROCEDIEMNTOS_PROFISSIONAIS_NOME];
                }
                $dr[$id]=$content;
                self::display_child_nodes($id, $level + 1,$data,$index,$dr);
            }        
    }    
    return $dr;   
}

请注意,按照惯例,NULL通常用于表示孤儿。如果您决定使用现成的jquery树插件,大多数插件都需要json数据作为输入。请使用查询和循环在服务器端创建所需的json数据。好吧,就这样吧。你能告诉我怎么做吗?这可能会有帮助:这不是一个简单的问题。。。您可能需要使用递归查询。