使用php和mysql为嵌套菜单生成链接

使用php和mysql为嵌套菜单生成链接,php,mysql,menu,nested-lists,Php,Mysql,Menu,Nested Lists,我已经经历了几十个类似的问题,但这些问题实际上解决了我的具体需求 我有一个由三个变量(id、name、pid)定义的mysql表 使用以下函数生成嵌套菜单: function get_categories($parent = '0') { $html = '<ul id="menu">'; $query = mysql_query("SELECT * FROM `categories` WHERE `pid` = '$parent'"); while($row

我已经经历了几十个类似的问题,但这些问题实际上解决了我的具体需求

我有一个由三个变量(id、name、pid)定义的mysql表

使用以下函数生成嵌套菜单:

function get_categories($parent = '0') {
    $html = '<ul id="menu">';
    $query = mysql_query("SELECT * FROM `categories` WHERE `pid` = '$parent'");
    while($row = mysql_fetch_assoc($query)) {
        $current_id = $row['id'];
        $html .= '<li><a href="">' . $row['name'] . '</a>';
        $has_sub = NULL;
        $has_sub = mysql_num_rows(mysql_query("SELECT COUNT(`pid`) FROM `categories` WHERE `pid` = '$current_id'"));
        if($has_sub) {
            $html .= get_categories($current_id);
        }
        $html .= '</li>';
    }
    $html .= '</ul>';
    return $html;
}
print get_categories();
函数get_categories($parent='0'){ $html='
    '; $query=mysql\u query(“从'categories'中选择*,其中'pid`='$parent'”; while($row=mysql\u fetch\u assoc($query)){ $current_id=$row['id']; $html.='
  • '; $has_sub=NULL; $has_sub=mysql_num_行(mysql_查询(“从`categories`中选择COUNT(`pid`),其中`pid`='$current_id')); 如果($has_sub){ $html.=get_categories($current_id); } $html.='
  • '; } $html.='
'; 返回$html; } 打印获取类别(); 我的问题是如何生成链接,使其以“漂亮的url”的方式呈现。 例如

非常感谢您的帮助。

最好在数据库中设置从子级到父级的category_路径我知道,但我想知道是否有办法从父/子关系(从现有表)生成该路径。最好在数据库中设置从子级到父级的category_路径我知道,但是我想知道是否有一种方法可以从父/子关系(从现有表)生成该路径。