<del id="ya5ky"><progress id="ya5ky"></progress></del>
<span id="ya5ky"></span>
<span id="ya5ky"><video id="ya5ky"></video></span>
<span id="ya5ky"><video id="ya5ky"></video></span>
<span id="ya5ky"></span>
<noframes id="ya5ky">
<progress id="ya5ky"></progress>
<span id="ya5ky"><dl id="ya5ky"><strike id="ya5ky"></strike></dl></span>
<strike id="ya5ky"><video id="ya5ky"><ruby id="ya5ky"></ruby></video></strike><span id="ya5ky"></span>
<address id="ya5ky"><cite id="ya5ky"><i id="ya5ky"></i></cite></address>
  • 您的位置:首页 > 站长 > 网站资源 > 正文

    帝国cms调用同一服务器不同数据库的Discuz帖子教程

    2018-09-17 17:17:02来源:然猫网编辑:发财猫 我要投稿 浏览:

    A-A+

    现在大多数资讯类系统,一般站长都比较青睐php、mysql组合,这类cms系统中以dede和帝国更为普及,在帝国系统中调用论坛数据,这个应用需求比较常见,cms和论坛系统使用同一数据库?#20445;?#36825;样调用?#20445;?#20351;用帝国论坛上提供的方法,如果是dede网站系统,使用dede的后台向导就可以直接实现,但如果cms和论坛使用不同的数据库,前提是在同一服务器、同一mysql服务环境下,就不能直接调用了,这涉及到mysql用户的多数据库权限,以及mysql的跨数据库查询问题。

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

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

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

    GRANT select on discuz.* to ecms_user;

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

    [e:loop={"select tid,subject from discuz.cdb_threads order by tid desc limit 10",10,24,0}]

    [/e:loop]

    数据更新后查看,数据就生成了,这数据可是实在的标题和链接调用,不是一般的discuz论坛的js数据调用,不管?#26434;?#39029;面加载速度和网站的优化来说,?#21152;?#22909;处。

    注意上述语句的:

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

    不然打开链接时就要出现“404页面”了。好这样?#32479;?#21151;调用了。

    调用同一数据库下的discuz帖子

    如果是,那么就好办了,请参考下方调用标签,照着搬到自己网站即可。

    调用某版块最新帖子:(红色部分?#30452;?#20026;:“DZ数据库名、版块ID、调用条数、帖子ID、标题字数”):

    [e:loop={"select tid,subject,dateline from 数据库名.表前缀_threads where fid=版块ID order by tid desc limit 10",10,24,0}] [/e:loop]

    调用全论坛新帖子:

    [e:loop={"select tid,subject,dateline from jinyu5.cdb_threads order by tid desc limit 8",10,24,0}]

    [/e:loop]

    调用全论坛热帖子:

    [e:loop={"select tid,subject,dateline from jinyu5.cdb_threads order by views desc limit 8",10,24,0}]

    [/e:loop]

    调用指定版块的精华帖子:

    [e:loop={"select tid,subject,dateline,digest from accbbs.accbbsforum_thread where digest!=0 and fid=版块ID order by tid desc limit 10",10,24,0}]

    [/e:loop]

    调用指定版块热门帖,如调用版块ID为40的回复数超过20的帖:

    [e:loop={"select tid,subject,dateline,replies from accbbs.accbbsforum_thread where replies>=20 and fid=40 order by tid desc limit 10",10,24,0}]

    [/e:loop]

    注:以上代码由于网页安全问题,不齐全,中间少了帖子链接,各站长在修改网页的时候加?#20808;?#21543;,如果不会,请百度。

    微信扫一扫

    然猫网微信账号
    赛马会集团投注站
    <del id="ya5ky"><progress id="ya5ky"></progress></del>
    <span id="ya5ky"></span>
    <span id="ya5ky"><video id="ya5ky"></video></span>
    <span id="ya5ky"><video id="ya5ky"></video></span>
    <span id="ya5ky"></span>
    <noframes id="ya5ky">
    <progress id="ya5ky"></progress>
    <span id="ya5ky"><dl id="ya5ky"><strike id="ya5ky"></strike></dl></span>
    <strike id="ya5ky"><video id="ya5ky"><ruby id="ya5ky"></ruby></video></strike><span id="ya5ky"></span>
    <address id="ya5ky"><cite id="ya5ky"><i id="ya5ky"></i></cite></address>
  • <del id="ya5ky"><progress id="ya5ky"></progress></del>
    <span id="ya5ky"></span>
    <span id="ya5ky"><video id="ya5ky"></video></span>
    <span id="ya5ky"><video id="ya5ky"></video></span>
    <span id="ya5ky"></span>
    <noframes id="ya5ky">
    <progress id="ya5ky"></progress>
    <span id="ya5ky"><dl id="ya5ky"><strike id="ya5ky"></strike></dl></span>
    <strike id="ya5ky"><video id="ya5ky"><ruby id="ya5ky"></ruby></video></strike><span id="ya5ky"></span>
    <address id="ya5ky"><cite id="ya5ky"><i id="ya5ky"></i></cite></address>