织梦dedecms来调用论坛帖子的方法

用灵动标签调用外部数据: 例一:调用Discuz的最新贴子

关键字描述:帖子 方法 论坛 调用 &nbsp &quot &lt tid function fid

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}] trtd a href=/bbs/viewthread.php?tid=?=$bqr[tid]?
target=_blank?=$bqr[subject]?/a (?=date(‘Y-m-d’,$bqr[dateline])?)
/td/tr [/e:loop] /table

今天我告诉大家一些在织梦dedecms里面调用discuz论坛帖子的一些方法,这些方法都是好不容易从网上搜来的,这次一次奉献给大家啦。

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=”cdb_threads”这句。这句不是适用所有网站的,这个地方cbd是你论坛的表前缀名称,大家根据自己的论坛修改成合适的表前缀名。再者,我是把织梦和discuz
论坛放在一个数据库里面的,才开始放在两个数据库,整合了半天不成功,不知道是什么原因。后面放在一个数据库里面成功了。但是没有在放到两个数据库里面做测试,大家也可以测试下,告诉我结果了。按道理来说不限制放进同一个数据库才合理些!最后m-d
H:M 带表是发布的时间,如果只要(日-月)时间格式的,把 H:M去掉即可。

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]’); ? trtd [?=$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

  1、论坛最新主题调用代码如下:

discuzdb.cdb_forums为Discuz的版块表名,其中discuzdb为Discuz的数据库名称。
例三:调用DiscuzX的最新贴子

{dede:loop table=”cdb_threads” sort=”tid” row=”10″}
<a href=”/bbs/viewthread.php?tid=[field:tid%20/]”>
·[field:subject function=”cn_substr(‘@me’,30)” /]([field:lastpost
function=”date(‘m-d H:M’,’@me’)” /])</a>
<br/>
{/dede:loop}

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}] trtd a
href=/bbs/forum.php?mod=viewthreadtid=?=$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的最新贴子

  如果是discuz动态论坛,链接地址如
/]

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]’); ? trtd
[?=$fr[name]?] a
href=/bbs/forum.php?mod=viewthreadtid=?=$bqr[tid]?
target=_blank?=$bqr[subject]?/a (?=date(‘Y-m-d’,$bqr[dateline])?)
/td/tr [/e:loop] /table

  如果是discuz静态论坛,连接地址如
/]-1-1.html

discuzdb.pre_forum_forum为DiscuzX的版块表名,其中discuzdb为DiscuzX的数据库名称。
例五:调用PHPwind的最新贴子

2、论坛指定版块帖子调用方法:

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}] trtd a href=/bbs/read.php?tid=?=$bqr[tid]?
target=_blank?=$bqr[subject]?/a (?=date(‘Y-m-d’,$bqr[postdate])?)
/td/tr [/e:loop] /table

{ dede:loop table=”cdb_threads” if=”fid=1 or fid=2 and
displayorder!=-1″ sort=”tid” row=”6″ }
<a href=”/bbs/viewthread%20dot%20php?tid=[field:tid%20/]”
target=”_blank”>
·[field:subject function=”cn_substr(‘ @ me’,50)” /] </a>
<br/>
{ /dede:loop }

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的最新贴子

其中的fid=1 or
fid=2是论坛主题分类id,可以按照自己要求来修改,如果是一个分类就直接写fid=x

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]’); ? trtd [?=$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

3、论坛调精华主题调用代码如下:

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

{dede:loop table=”cdb_threads” if=”displayorder!=-1″ sort=”tid”
row=”10″}
<a href=”/bbs/viewthread.php?tid=[field:tid%20/]”>
·[field:subject function=”cn_substr(‘@me’,30)” /]([field:lastpost
function=”date(‘m-d H:M’,’@me’)” /])</a>
<br/>
{/dede:loop}

如果想调用某个板块的精华主题代码如下:

{dede:loop table=”cdb_threads” if=”fid=5 and displayorder!=-1″
sort=”tid” row=”10″}
<a href=”/bbs/viewthread.php?tid=[field:tid%20/]”>
·[field:subject function=”cn_substr(‘@me’,30)” /]([field:lastpost
function=”date(‘m-d H:M’,’@me’)” /])</a>
<br/>
{/dede:loop}

其中的fid=5是论坛主题分类id,可以按照自己要求来修改,

  如果想调用论坛所有的板块的最新精华主题只要去掉fid=5 and 就可以了。

  4、调用的帖子列表这可以按查看次数排序,代码如下:

{dede:loop table=”cdb_threads” sort=”views” row=”10″}
<a href=”/dz/viewthread.php?tid=[field:tid%20/]”>
·[field:subject function=”cn_substr(‘@me’,30)” /]([field:lastpost
function=”date(‘m-d H:M’,’@me’)” /])</a>
<br/>
{/dede:loop}
其中sort=”views” 就是控制按照查看次数排序的代码