PHP树菜单嵌套列表问题

时间:2010-08-17 04:09:50

标签: php

我的代码由于某种原因显示我的树状菜单的嵌套列表所有错误有人可以帮我纠正这个问题吗?这样我的嵌套列表就可以正确嵌套到我的树状菜单中。

这是我的PHP代码。

function category_tree($parent = 0, $parent_url = ''){
    echo "<ol>";
    $mysqli = mysqli_connect("localhost", "root", "", "sitename");
    $q = "SELECT id, category, url FROM categories WHERE parent_id = '" . $parent . "' ORDER BY category asc";
    $r = mysqli_query($mysqli, $q);
    while($rs = mysqli_fetch_array($r) ){
        $url = $parent_url . $rs['url'];
        echo '<li><a href="' . $url . '" title="' . $rs['category'] . ' Category Link">' . $rs['category'] . '</a></li>';
        category_tree($rs['id'], $url);
    }
    mysqli_free_result($r);
    echo "</ol>";
}

2 个答案:

答案 0 :(得分:0)

如果不进一步了解,我会说你需要在回显category_tree元素的结束标记之前调用LI

    echo '<li><a href="' . $url . '" title="' . $rs['category'] . ' Category Link">' . $rs['category'] . '</a>';
    category_tree($rs['id'], $url);
    echo '</li>';

答案 1 :(得分:-1)

很可能没有活跃的结果集太多了。

在递归调用之前释放结果集。将结果集的所有行填充到PHP $数组。然后释放结果集。然后使用循环打印树元素(如你所做)并查找更多子树。它可以帮助你。