我使用嵌套集模型在数据库中存储了一个分层树。如何使用PHP在<li>
列表中打印此层次结构?
答案 0 :(得分:1)
你需要递归试试这个代码或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;
}
注意:此处我使用mysql_*
,不建议使用mysqli_*
或pdo