本站快讯
  • 未发布任何快讯哟,快去后台快讯发布吧

帝国cms和discuz论坛系统跨数据库查询调用

作者 : 佚名 发布时间: 2019-06-4 文章热度:296 共1096个字,阅读需3分钟。 本文内容有更新 字体:
  • 文章介绍
  • 评价建议
  • 现在大多数资讯类系统,一般站长都比较青睐php、mysql组合,这类cms系统中以dede和帝国更为普及,在帝国系统中调用论坛数据,这个应 用需求比较常见,cms和论坛系统使用同一数据库时,这样调用时,使用帝国论坛上提供的方法,如果是dede网站系统,使用dede的后台向导就可以直接 实现,但如果cms和论坛使用不同的数据库,前提是在同一服务器、同一mysql服务环境下,就不能直接调用了,这涉及到mysql用户的多数据库权限, 以及mysql的跨数据库查询问题。

    这个问题很久以前就曾经多次在帝国论坛咨询过,但没有具体实施方法,由于平常也不以帝国类网站为生,因此对这些问题还是建立在考虑可能性的层面,今日朋友又提此事,觉得也不算大的难题,就稍费点时间试一下。结果,完美成功。过程如下:

    假设:帝国cms数据库名为:ecms,用户名为:ecms_user,discuz论坛数据库名为:discuz,用户名为:discuz_user

    要在帝国网站中调用discuz论坛的当天最新贴,首先为discuz论坛添加帝国网站系统的用户访问权限,这里只添加查询(select)权限,确保安全。用root登陆phpmysql后,直接在sql中运行以下语句:

    GRANT select on discuz.* to ecms_user;

    这时就可以在帝国模板中添加灵动标签的论坛当天最新贴查询了:

     <table width=”100%” border=”0″ cellspacing=”0″ cellpadding=”1″>
    [e:loop={“select tid,subject from discuz.cdb_threads order by tid desc limit 10”,10,24,0}]
    <tr><td>
    <a href=”<?=$bqr[tid]?>-1-1.html” target=”_blank”><?=$bqr[subject]?></a>
    </td></tr>
    [/e:loop]
    </table> 

    数据更新后查看,数据就生成了,这数据可是实在的标题和链接调用,不是一般的discuz论坛的js数据调用,不管对于页面加载速度和网站的优化来说,都有好处。

    注意上述语句的:

    <a href=”<?=$bqr[tid]?>-1-1.html” target=”_blank”><?=$bqr[subject]?></a>

    如果你没有加载论坛的伪静态效果,要替换为:

    <a href=”?tid=<?=$bqr[tid]?>” target=”_blank”><?=$bqr[subject]?></a>

    不然打开链接时就要出现“404页面”了。好这样就成功调用了。


    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    ①本站所有CMS、杰奇CMS、杰奇模板、PTCMS428、PTCMS模板、YGBOOK614、YGBOOK模板仅用于学习和交流,勿用于商业。
    ②本站资源有安装及使用文档,安装使用请自行探索,如您对准备购买的程序或是模板无法胜任安装工作,请点击付费安装。
    ③本站资源来源网络或者用户投稿,切勿私自传播于网络,否则将追究法律责任。且仅供学习交流之用,如有侵权请联系删除。
    ④如果资源失效或下载链接错误请联系站长。

    蓝大富博客 » 帝国cms和discuz论坛系统跨数据库查询调用

    发表评论

    409+

    本站勉强运行

    270+

    用户总数

    170+

    资源总数

    0+

    今日更新

    2020-4-8

    最后更新时间