PHP+MySQL无限分类语句

可以输出如下的格式:即将求职菜鸟在线等!... 可以输出如下的格式:

即将求职菜鸟在线等!
展开
 我来答
阳光上的桥
推荐于2016-01-23 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部

无限级别的,使用递归编程比较容易,基本方法是定义一个显示子菜单的函数:

function ShowMenu($pid){

....显示数据库里面PID为$pid的所有菜单项目以及子项目(通过调用自身实现).....

}

主程序调用ShowMenu(0)实现输出整个菜单。

 

整个程序的逻辑一般这样:

echo ShowMenu(0);

function ShowMenu($pid){
    //如果数据库不存在PID=$pid的记录,返回空串""
    $sql="select count(*) from tab where pid=$pid";
    mysql_query($sql);
    list($cnt)=mysql_fetch_row($res);
    mysql_free_result($res);
    if ($cnt==0) return '';
    //否则返回所有的子菜单项,格式<UL><LI>...<LI>...</UL>
    $ret_str='<UL>';
    $sql="select id,title from tab where pid=$pid";
    mysql_query($sql);
    while(list($id,$title)=mysql_fetch_row($res)){
        $ret_str.="<LI>$title".ShowMenu($id)."</LI>";
    }
    mysql_free_result($res);
    $ret_str.='<UL>';
    return $ret_str;
}
更多追问追答
追问
按照你的做出来,展现形式不对呀,我要的形式是这样的:
1级菜单A
2级菜单A
2级菜单B
3级菜单A
4级菜单A
1级菜单B
2级菜单B
追答
请粘贴你按我的方法做的程序和结果。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式