1个回答
展开全部
无限级别的,使用递归编程比较容易,基本方法是定义一个显示子菜单的函数:
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
追答
请粘贴你按我的方法做的程序和结果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询