欢迎来到HELLO素材网! 南京网站制作选择顺炫科技
丰富的DIV CSS模版、JS,jQuery特效免费提供下载
当前位置:主页 > 建站教程 > CMS教程 >

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

发表于2019-04-16 10:59| 次阅读| 来源网络整理| 作者session

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

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

如今大少数资讯类系统,普通站长都比较青眼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页面”了。好这样就胜利调用了。