如何使用PHP将嵌套集模型树层次结构转换为HTML列表元素?

时间:2014-02-22 09:57:47

标签: php database sql

我使用嵌套集模型在数据库中存储了一个分层树。如何使用PHP在<li>列表中打印此层次结构?

我的数据库表: http://i.stack.imgur.com/RfhpW.png

我的树形结构: http://i.stack.imgur.com/uTRJK.png

1 个答案:

答案 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

相关问题