您现在的位置是:首页 > 教程 > 帝国CMS教程帝国CMS教程

帝国cms模板利用php实现无限级导航指定ID的方法

晓恬2023-01-25 18:39:21帝国CMS教程已有人查阅

导读指定显示一级栏目下的子栏目(不显示父栏目)如果把daohang($bclassid=0)和下面的 daohang(0);改成对应父栏目ID就循环显示该栏目下的子栏目了

具体代码如下:

<?
function daohang($bclassid=0)
{
global $empire,$dbtbpre,$public_r;
$sql=$empire->query("select * from {$dbtbpre}enewsclass where bclassid=$bclassid order by myorder,classid");
while($r=$empire->fetch($sql))
{
$jclassURL=@sys_ReturnBqClassname($r,9);
$num = @ReturnClassInfoNum($r);
if(empty($r['islast']))
{
echo '<ul>'.'<a href="'.$jclassURL.'">'.$r['classname'].'</a>'.'('.$num.')'.'</ul>';
daohang($r['classid']);
}
else
echo '<li>'.'<a href="'.$jclassURL.'">'.$r['classname'].'</a>'.'('.$num.')'.'</li>';
}
}
echo '<ul>';
daohang(0);
echo '</ul>';
?>

-------------父子栏目全显示----------------
新闻中心(384)
国内新闻(121)
国际新闻(77)
娱乐新闻(69)
体育新闻(116)
盂县(1)
下载中心(24)
系统软件(6)
网络工具(6)
安全相关(6)
注释:
1、如果把SQL语句改成

select * from {$dbtbpre}enewsclass where bclassid=$bclassid and tbname='news' order by myorder,classid

即加了and tbname='news' 这个条件就可以只显示新闻系统模型的栏目。
2、 指定显示一级栏目下的子栏目(不显示父栏目)如果把daohang($bclassid=0)和下面的 daohang(0);改成对应父栏目ID就循环显示该栏目下的子栏目了,比如新闻中心ID是2,改成了daohang($bclassid=2)和下面的 daohang(2);那么就显示新闻中心下面所有子栏目了。
3、上面2的方法还能 只修改 bclassid=$bclassid 为 bclassid=2 或 bclassid in (2)
多个时 bclassid=$bclassid 为 bclassid=2 or bclassid=3 或 bclassid in (2,3)
-------------只显示子栏目----------------
国内新闻(121)
国际新闻(77)
娱乐新闻(69)
体育新闻(116)
系统软件(6)
网络工具(6)
安全相关(6)
媒体工具(6)
盂县(1)

本文标签:

很赞哦! ()

留言与评论 (共有 条评论)
验证码:

相关标签