如何使用PHP将嵌套的集合模型树层次结构转换为HTML列表元素?
我使用嵌套集模型在数据库中存储了一个层次结构树。如何使用PHP在如何使用PHP将嵌套的集合模型树层次结构转换为HTML列表元素?,php,database,sql,Php,Database,Sql,我使用嵌套集模型在数据库中存储了一个层次结构树。如何使用PHP在列表中打印此层次结构 我的数据库表: 我的树结构: 您需要递归,请尝试以下代码或php $con = mysql_connect("localhost", "root", ""); mysql_select_db("testing_db", $con); $code_id = 1; // initial of hierarchy // you can put here 1/2/3 as your initial node pri
列表中打印此层次结构
我的数据库表:
我的树结构:
您需要递归,请尝试以下代码或php
$con = mysql_connect("localhost", "root", "");
mysql_select_db("testing_db", $con);
$code_id = 1; // initial of hierarchy // you can put here 1/2/3 as your initial node
print_hierarchy($code_id);
function print_hierarchy($code_id)
{
echo '<ul>';
$res = mysql_query("SELECT * FROM `test2` WHERE id='$code_id' LIMIT 1 ") or die(mysql_error());
if($row = mysql_fetch_assoc($res))
{
$left = $row['lft'];
$right = $row['rgt'];
echo '<li>'.$row['name'];
if($left>0 && $left!=$code_id)
{
print_hierarchy($left);
}
if($right>0 && $right!=$code_id)
{
print_hierarchy($right);
}
echo '</li>';
}
echo '</ul>';
return;
}
$con=mysql\u connect(“本地主机”、“根目录”、“根目录”);
mysql_select_db(“testing_db”,$con);
$code_id=1;//层次结构的初始节点//您可以将1/2/3放在此处作为初始节点
打印层次结构($code\u id);
函数打印层次结构($code\u id)
{
回声“”;
$res=mysql\u query(“从`test2`中选择*,其中id='$code\u id'限制1”)或die(mysql\u error());
如果($row=mysql\u fetch\u assoc($res))
{
$left=$row['lft'];
$right=$row['rgt'];
回显“- ”.$row['name'];
如果($left>0&&$left!=$code\u id)
{
打印层次结构(左);
}
如果($right>0&&$right!=$code\u id)
{
打印层次结构($right);
}
回音“
”;
}
回声“
”;
返回;
}
注意:这里我使用的是不推荐使用的
mysqli\u*
或pdo
显示您的表结构这是经过测试的使用表和字段名在代码中尝试使用mysql\u query()函数,但不指定mysql连接,最好在代码中包含它,也许其他人不知道这一点,并且想知道为什么当我使用$code\u id=1时它不工作,我得到:*生物体
,当我使用$code\u id=2时,我得到:*哺乳动物
然后缩进*孔雀
当我使用$code\u id=3时,我得到:*人类
然后缩进*鸟类
这里是一个图表,显示了$code\u id=1/2/3的输出。这是ul li中的左树,如果你想下线,你需要一些插件并在上面使用代码。