ylsunyuan技术论坛中心

 找回密码
 注册(请使用中文注册)
搜索
热搜: 活动 交友 discuz
查看: 1289|回复: 0
打印 上一主题 下一主题

帝国灵动标签调用外部数据

[复制链接]

124

主题

127

帖子

619

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
619
跳转到指定楼层
楼主
发表于 2014-11-27 11:50:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
灵动标签调用外部数据
帝国CMS的标签的SQL查询调用支持调用mysql数据库的所有数据,本节通过用灵动标签的SQL语句查询来讲解调用方法。

用灵动标签调用外部数据:
例一:调用Discuz的最新贴子
<table               width="100%" border="0" cellspacing="1"               cellpadding="3">
              [e:loop={"select tid,subject,dateline               from discuzdb.cdb_threads order by tid desc limit 10",10,24,0}]
              <tr><td>
              <a href="/bbs/viewthread.php?tid=<?=$bqr[tid]?>"               target="_blank"><?=$bqr[subject]?></a>               (<?=date('Y-m-d',$bqr[dateline])?>)
              </td></tr>
              [/e:loop]
              </table>
discuzdb.cdb_threads为Discuz的贴子表名,其中“discuzdb”为Discuz的数据库名称。
       limit 10为显示贴子数量。
      如果用伪静态地址可以用:/bbs/thread-<?=$bqr[tid]?>-1-1.html
如果指定单个版块的贴子,SQL用:select       tid,subject,dateline from discuzdb.cdb_threads where       fid=版块ID order by tid desc limit 10
      
如果指定多个版块的贴子,SQL用:select tid,subject,dateline from       discuzdb.cdb_threads where fid in (1,2,3) order       by tid desc limit 10
例二:调用Discuz的最新贴子(含调用论坛版块名)
<table               width="100%" border="0" cellspacing="1"               cellpadding="3">
              [e:loop={"select tid,subject,dateline,fid               from discuzdb.cdb_threads order by tid desc limit 10",10,24,0}]
              <?php
              $fr=$empire->fetch1("select name from discuzdb.cdb_forums               where fid='$bqr[fid]'");
              ?>

              <tr><td>
              [<?=$fr[name]?>] <a href="/bbs/viewthread.php?tid=<?=$bqr[tid]?>"               target="_blank"><?=$bqr[subject]?></a>               (<?=date('Y-m-d',$bqr[dateline])?>)
              </td></tr>
              [/e:loop]
              </table>
discuzdb.cdb_forums为Discuz的版块表名,其中“discuzdb”为Discuz的数据库名称。
例三:调用DiscuzX的最新贴子
<table               width="100%" border="0" cellspacing="1"               cellpadding="3">
              [e:loop={"select tid,subject,dateline               from discuzdb.pre_forum_thread order by tid desc limit 10",10,24,0}]
              <tr><td>
              <a href="/bbs/forum.php?mod=viewthread&tid=<?=$bqr[tid]?>"               target="_blank"><?=$bqr[subject]?></a>               (<?=date('Y-m-d',$bqr[dateline])?>)
              </td></tr>
              [/e:loop]
              </table>
discuzdb.pre_forum_thread为DiscuzX的贴子表名,其中“discuzdb”为DiscuzX的数据库名称。
       limit 10为显示贴子数量。
      如果用伪静态地址可以用:/bbs/thread-<?=$bqr[tid]?>-1-1.html
如果指定单个版块的贴子,SQL用:select       tid,subject,dateline from discuzdb.pre_forum_thread where       fid=版块ID order by tid desc limit 10
      
如果指定多个版块的贴子,SQL用:select tid,subject,dateline from       discuzdb.pre_forum_thread where fid in (1,2,3)       order by tid desc limit 10
例四:调用DiscuzX的最新贴子(含调用论坛版块名)
<table               width="100%" border="0" cellspacing="1"               cellpadding="3">
              [e:loop={"select tid,subject,dateline,fid               from discuzdb.pre_forum_thread order by tid desc limit 10",10,24,0}]
              <?php
              $fr=$empire->fetch1("select name from discuzdb.pre_forum_forum               where fid='$bqr[fid]'");
              ?>

              <tr><td>
              [<?=$fr[name]?>] <a href="/bbs/forum.php?mod=viewthread&tid=<?=$bqr[tid]?>"               target="_blank"><?=$bqr[subject]?></a>               (<?=date('Y-m-d',$bqr[dateline])?>)
              </td></tr>
              [/e:loop]
              </table>
discuzdb.pre_forum_forum为DiscuzX的版块表名,其中“discuzdb”为DiscuzX的数据库名称。
例五:调用PHPwind的最新贴子
<table               width="100%" border="0" cellspacing="1"               cellpadding="3">
              [e:loop={"select tid,subject,postdate               from phpwinddb.pw_threads order by tid desc limit 10",10,24,0}]
              <tr><td>
              <a href="/bbs/read.php?tid=<?=$bqr[tid]?>" target="_blank"><?=$bqr[subject]?></a>               (<?=date('Y-m-d',$bqr[postdate])?>)
              </td></tr>
              [/e:loop]
              </table>
phpwinddb.pw_threads为phpwind的贴子表名,其中“phpwinddb”为phpwind的数据库名称。
       limit 10为显示贴子数量。
      如果用伪静态地址可以用:/bbs/read-htm-tid-<?=$bqr[tid]?>.html
如果指定单个版块的贴子,SQL用:select       tid,subject,postdate from phpwinddb.pw_threads where       fid=版块ID order by tid desc limit 10
      
如果指定多个版块的贴子,SQL用:select tid,subject,postdate from       phpwinddb.pw_threads where fid in (1,2,3) order       by tid desc limit 10
例六:调用PHPwind的最新贴子(含调用论坛版块名)
<table               width="100%" border="0" cellspacing="1"               cellpadding="3">
              [e:loop={"select tid,subject,postdate,fid               from phpwinddb.pw_threads order by tid desc limit 10",10,24,0}]
              <?php
              $fr=$empire->fetch1("select name from phpwinddb.pw_forums               where fid='$bqr[fid]'");
              ?>

              <tr><td>
              [<?=$fr[name]?>] <a href="/bbs/read.php?tid=<?=$bqr[tid]?>"               target="_blank"><?=$bqr[subject]?></a>               (<?=date('Y-m-d',$bqr[postdate])?>)
              </td></tr>
              [/e:loop]
              </table>
phpwinddb.pw_forums为phpwind的版块表名,其中“phpwinddb”为phpwind的数据库名称。


其他说明:
1、帝国CMS的数据库帐号要有select权限查询对应数据库的表,才能读取成功。
2、SQL调用支持调用mysql数据库的所有数据,上面只是举了几个例子。





回复

使用道具 举报

本版积分规则

QQ|Archiver|手机版|小黑屋|ylsunyuan技术论坛 ( 桂ICP备14005218号-1

GMT+8, 2024-11-13 14:36 , Processed in 0.053109 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表