帝国cms sql实现无限级导航代码可指定ID

来源:互联网   编辑:思良  发表时间:2016-01-04  关注度:1193  

代码:

 

<?
        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>';
?>

思良:如果把SQL语句改成select * from  {$dbtbpre}enewsclass where bclassid=$bclassid and tbname='news'  order by myorder,classid,即加了and tbname='news' 这个条件就可以只显示新闻系统模型的栏目。

很多网站栏目默认是新闻系统模型,很少用到下载系统或者文章系统,而如果想用帝国安装2个网站,我们可以把主站建立的栏目用新闻系统,第二个网站的栏目用文章系统,这样的话,如果用最新更新的标签时,文章系统更新不会显示到新闻系统里,我的网站就这样,主站用新闻系统,专门为模版建立了一个栏目,有新模版就发到里面,里面必须要有测试文章的,为了防止测试文章显示到主站里,所以用的是文章系统,如果想用上面的代码显示导航时,就会把所有栏目都显示出来了,而我们就想显示主站的导航就好了,好在我把其他里面都设置成其他系统,所以加个条件:and tbname='news'   这样就只显示新闻系统(主站)的栏目(导航)了。

 如果把daohang($bclassid=0)和下面的 daohang(0);改成对应栏目ID就循环显示该栏目(包括子栏目),比如我网址大全ID是30,改成了daohang($bclassid=30)和下面的 daohang(30);那么就显示网址大全下面所有子栏目了。

希望这个思路帮助到其他朋友。

    支付宝扫码领红包,不用多说,用过的人都知道,双赢的,你得红包,我得到同等推广红包,比如你扫到1元,我也得1元,大家得到的红包可以去实体店消费!新用户至少10元以上哦,每天都有!希望大家每天来本站扫码!感谢感谢!

    把打赏改成扫码红包了!支持本站就扫码下!


下一篇:帝国CMS不同的字段值显示不同的图片


上一篇:帝国cms实现用灵动标签调用文章内容的方法


小提示:按 回车[Enter]键 返回,按 ←键 返回上一页, 按 →键 进入下一页。

网友评论(0条评论)

选择头像
     

新闻评论(共有 0 条评论)

手机访问

本站APP

联系我

加我微信