我只需要一个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,名称应附加到父级。 (可选)如果我指定两个示例婚姻之间的关系,它们应该在代码中连接。 如果您只是告诉我如何设计或接近的概述,那就没关系。
答案 0 :(得分:0)
我使用此功能来执行此操作。 我创建的这个函数返回一个表格线性数据树
您可以按照这个想法自定义
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(" ", $level*2) .$data[$id][PROCEDIEMNTOS_PROFISSIONAIS_NOME];
}
$dr[$id]=$content;
self::display_child_nodes($id, $level + 1,$data,$index,$dr);
}
}
return $dr;
}