最新公告
  • 欢迎您光临站长源码网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 帝国cms跨数据库调用栏目信息教程

    正文概述 管理员   2024-09-02   5

    在帝国cms项目开发过程中,有的客户需要跨数据库调用数据,比如在一起个服务器上两个网站A与B,主网站是A ,子网站是B。B网站不经常更新,但是还想让他页面有所变化,利于搜索引擎的抓取优化,这就需要跨数据库调用A数据库的文章信息来填充到B网站上显示。我整理了一下思路,其实很简单,重点就在两个:

    1、数据库用户名权限

    2、数据库.表名

    废话不多说,调用方法具体如下:

    我的两个网站数据库名分别为①sql_feisuxs ②sql_feisu_zidian

    首先设置数据库权限,我用的是phpmyadmin,就按照phpmyadmin来示范。

    1、用root账户登陆phpmyadmin,点击用户,找到子网站所使用的sql用户名,我的子网站为sql_feisu_zidian,点击编辑权限

    2、点击数据库

    3、选择需要添加的用户名,执行。

    执行之后主网站的数据库用户sql_feisuxs就有权限查询子网站数据库sql_feisu_zidian的数据库了,这样就可以跨库了。

    在子网站模板中调用方法具体如下:

    [e:loop={"select * from sql_feisuxs.phome_ecms_news where classid=5 order by id desc limit 5",10,24,1}]
    <li><a href="<?=$bqsr[titleurl]?>">
    <img alt="<?=$bqsr[title]?>" src="<?=$bqr[titlepic]?>"/>
    <p><?=esub($bqr[title],32)?></p></a>
    </li>
    [/e:loop]
    

    代码解释:

    1、sql_feisuxs.phome_ecms_news(主网站数据库下的新闻表,一定要注意中间的那个点,务必要加上。红色部分为主网站的数据库名)

    2、classid=5(主网站被调用的栏目ID)

    3、 limit 5(调用条数为5,想调用几条就写几)

    4、10,24,1}(10、24就不解释了,常用的人都知道。重点是后面的1,这里是调用必须带有缩略图的文章,如果不是必须就直接改为0)

    5、下面的其他代码与e:loop本身代码调用是一样的,限制字数、缩略图地址等等。

    附我自己的一段调用代码作为参考:

    <?
      $sql=$empire->query("select classid,classname,infos from sql_feisuxs.{$dbtbpre}enewsclass where bclassid=0 and showclass=0 and tbname='news' order by myorder,classid asc");
      $bqno=0;
      while($bqr=$empire->fetch($sql)){
          $bqsr=sys_ReturnEcmsLoopStext($bqr);
          $bqno++;
    ?>
    <!-- 大栏目名 -->
    <?=$bqr[classname]?> 
    <!-- 大栏目信息数 -->
    <?=$bqr[infos]?>
            <?
            $sql2=$empire->query("select classid,classname,infos from sql_feisuxs.{$dbtbpre}enewsclass where bclassid=$bqr[classid] and showclass=0 order by myorder,classid asc");
            while($bqr2=$empire->fetch($sql2)){
                $bqsr2=sys_ReturnEcmsLoopStext($bqr2);
            ?>
            <!-- 小栏目名 -->
            <?=$bqr2[classname]?> 
            <!-- 小栏目信息数 -->
            <?=$bqr2[infos]?>
                    <!-- 子栏目信息列表,不需要就删除 -->
                    <ul>
                        <?
                        $sql3=$empire->query("select title,titleurl,newstime from sql_feisuxs.{$dbtbpre}ecms_news where classid=$bqr2[classid] order by id desc limit 10");
                        while($bqr3=$empire->fetch($sql3)){
                            $bqsr3=sys_ReturnEcmsLoopStext($bqr3);
                        ?>
                        <span><?=date('m-d',$bqr3[newstime])?><?=$bqr2[classname]?> </span><a href="<?=$bqr3[titleurl]?>" target="_blank" title="<?=$bqr3[title]?>"><?=esub($bqr3[title],36)?>...</a>
                        <?
                            }
                        ?>
                    </ul>
            <?
                }
            ?>
    
    
        <!-- 子栏目信息列表,不需要就删除 -->
    <?
        }
    ?>
    


    站长源码网 » 帝国cms跨数据库调用栏目信息教程

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    支付宝支付
    余额支付
    ×
    微信扫码支付 0 元