热搜词
发表于 2011-8-30 16:46:35 | 显示全部楼层 |阅读模式
很多用新版phpcms v9建站的朋友都要整合DZ X1.5论坛程序,在论坛搜索方法已经实现了同步,但是对于论坛帖子调用还没有得到更多帮助,PHPCMS吧在这里详细总结出来。
一、首先说一下数据库建立的方式,如果你直接是把V9和dz放在同一个数据库的话,请跳过此步骤,
    如果是单独的数据库可以在pc论坛搜索关于外部数据源的帖子。

二、顺便介绍下dx x1.5里面常用的数据表:
我的数据库前缀为 bbs
bbs_x_forum_thread 是论坛帖子的主表
里面有帖子序列号(tid) 栏目序列号(fid)
帖子标题(subject)  查看量(views)  精华等级(digest)

懂sql语言的童鞋,建议装个phpmyadmin 看看数据库的结构
就如dz后台版块命名的一样,forum是广场也就是论坛home是家园
_forum_
为前缀的就是跟论坛有关的数据表

三、调用范例

   1、调用整个论坛最近帖子(用tid来倒序排序获取论坛最新帖子)
  • {pc:get sql="SELECT * FROM bbs_forum_thread order by tid desc" cache="3600" return="data" num="10"}
  • {loop $data $key $val}
  • <li><a href="你的链接地址/bbs/forum.php?mod=viewthread&tid={$val[tid]}">{str_cut($val[subject],28,'')}</a></li>
  • {/loop}
  • {/pc}

复制代码
     access和mssql用的多的朋友可能喜欢写   select top 10 * form 这来获取帖子的数量,
但是在mysql里面一般都是在后面加limit 而且pc标签会自动生成limit  所以只需要修改后面的num的数 量即可。

   2、调用整个论坛最热门帖子(用views的数量来倒序排序获取论坛最新帖子)
  • {pc:get sql="SELECT * FROM bbs_forum_thread order by views desc" cache="3600" return="data" num="10"}
  • {loop $data $key $val}
  • <li><a href="你的链接地址/bbs/forum.php?mod=viewthread&tid={$val[tid]}"& gt;{str_cut($val[subject],28,'')}</a></li>
  • {/loop}
  • {/pc}

复制代码

   3、调用多个栏目最热门帖子(fid在dz的后台 ——论坛  后边那个灰色的数字就是栏目的ID)
  • {pc:get sql="SELECT * FROM bbs_forum_thread where fid in(46,47) order by views desc" cache="3600" return="data" num="10"}
  • {loop $data $key $val}
  • <li><a href="你的链接地址/bbs/forum.php?mod=viewthread&tid={$val[tid]}"& gt;{str_cut($val[subject],28,'')}</a></li>
  • {/loop}
  • {/pc}

复制代码

   4、调用某个栏目下的精华帖(按照精华级别倒序排 列)
  • {pc:get sql="SELECT * FROM bbs_forum_thread where fid=47 order by digest desc" cache="3600" return="data" num="10"}
  • {loop $data $key $val}
  • <li><a href="你的链接地址/bbs/forum.php?mod=viewthread&tid={$val[tid]}"& gt;{str_cut($val[subject],28,'')}</a></li>
  • {/loop}
  • {/pc}

复制 代码


   5、列 出某个栏目下所有的子栏目名称(按照自己设定的排序顺序排列  什么?怎么自己设定?就在dz后台——论坛——版块管理  每个版块前面那个数字嘛)
  • {pc:get sql="SELECT * FROM bbs_forum_forum where fum=37 order by displayorder asc" cache="3600" return="data" num="10"}
  • {loop $data $key $val}
  • <li><a href="你的链接地址/bbs/forum.php?mod=viewthread&tid={$val[tid]}"& gt;{str_cut($val[subject],28,'')}</a></li>
  • {/loop}
  • {/pc}

复制代码
比如论坛有一个栏目叫“业主论坛” 下面有众多楼盘的子栏目  业主论坛gid=37(就是刚才提到的那个灰色的数字) 在上面代码中fum就是gid  

很多朋友用V9做房产网站,但是房源发布模块因为V9的开发进度问题,所以想用dz的房产模块,比较疑惑怎么实 现下图的方式调用
其实只要在数据库里,总会有办法弄出来,没有查看数据库之前我也很愁了一阵子,但分 析下数据库,想办法把需要的字段读取出来,利用sql就可以实现了,这里需要用到 关联语句
{pc:get sql="SELECT a.tid,a.H_room,a.H_area,a.H_rents,b.subject FROM bbs_category_sortvalue3 a INNER JOIN bbs_category_house_thread b on a.tid = b.tid order by a.tid desc" num="6" page="$page"}
   {loop $data $r}
  <tr>
    <td><a href="你的链接/bbs/house.php?mod=view&tid={$r[tid]}"& gt;{str_cut($r[subject],20)}</a></td>
    <td>{$r[H_room]}室</td>  
全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-9-19 09:54 , Processed in 0.202313 second(s), 33 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team