PHPCMS V9调用dz x1.5 论坛数据教程

简介: 摸索了个把月的V9,目前的功能大致了解了。建站前计划要整合DZ X1.5的,在论坛搜索方法已经实现了同步,但是对于论坛帖子调用还没有得到更多帮助,可能是因为太简单了,没有人去写,我就献丑整理一下吧。如果有用麻烦给我个顶,俺小学生需要鼓励。

摸索了个把月的V9,目前的功能大致了解了。建站前计划要整合DZ X1.5的,在论坛搜索方法已经实现了同步,但是对于论坛帖子调用还没有得到更多帮助,可能是因为太简单了,没有人去写,我就献丑整理一下吧。如果有用麻烦给我个顶,俺小学生需要鼓励。

一、首先说一下数据库建立的方式,如果你直接是把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]}">{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]}">{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]}">{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]}">{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]}">{str_cut($r[subject],20)}</a></td> <td>{$r[H_room]}室</td> <td>{$r[H_area]}㎡</td> <td>{if $r[H_rents]>0}{$r[H_rents]}以内{else}面议{/if}</td> </tr> {/loop} {/pc}

dz房产模块每建立一个分类的时候会生成一张数据表 默认的有 房屋出租 房屋出售两个分类 bbs_category_sortvalue1 和 bbs_category_sortvalue2

我的房屋求租是bbs_category_sortvalue3。

至于h_room h_area h_rents这些是什么,如果想用dz房产模块的能够实现在房源列表页正常调用的人应该不难理解,这里主要说一下这个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

解释:bbs_category_sortvalue3 a 将数据库bbs_category_sortvalue3 取别名为 a 因为这个数据库的名字有点长 写起来麻烦,我就把冯斯特洛夫斯基取别名为 甲 是这个道理

bbs_category_house_thread b 将数据库bbs_category_house_thread 取别名为 b

select _______ from a inner join b on a.tid=b.tid 查询 a表的tid = b 表的tid的这些数据

这个数据有很多字段,我们在前台展示只需要读几个字段出来就可以了 a.tid,a.H_room,a.H_area,a.H_rents,b.subject 就是这个字段了 a.tid一定要读出来,因为后的链接是靠它链接的。

其他的请各位童鞋自己举一反三

(本文摘自PHPCMS 官方论坛)

目录
相关文章
|
5月前
|
安全 容器 数据安全/隐私保护
CTF本地靶场搭建——静态flag题型的创建
【6月更文挑战第1天】本文介绍了如何在CTF比赛中创建静态flag题型。静态flag是预先设定且不变的,常用于攻防模式或Misc、Crypto等题目中作为验证答案的一部分。创建步骤包括:选择比赛,新建题目,设置题目类型和内容,上传附件,添加静态flag,启用题目。选手则需下载附件,解密或解决问题后提交静态flag进行验证。
|
Android开发 Python
Crack App | 低版本绕过某视频 App (dy) 商品抓包限制(读者投稿 - 将玄学进行到底)
Crack App | 低版本绕过某视频 App (dy) 商品抓包限制(读者投稿 - 将玄学进行到底)
284 0
|
关系型数据库 MySQL PHP
PHP注册、登陆、6套主页-带Thinkphp目录解析-【白嫖项目】
PHP注册、登陆、6套主页-带Thinkphp目录解析-【白嫖项目】 CSDN 转过来的,所以格式与内容有些许错误请见谅
Typecho-handsome主题统计访客人次
本次增强是基于handsome6.0版本的一个右侧栏博客信息的增强,如下图所示,初始的handsome主题博客信息栏只有四个栏目信息————分别是:文章数目,评论数目,运行天数,最后活动。那么该如何修改源代码来实现增加多个栏目呢?本次以添加一个记录网站总浏览人次的功能为例
230 0
Typecho-handsome主题统计访客人次
|
JSON 小程序 IDE
|
安全 PHP 索引
dz论坛Discuz_X3.4最新网站漏洞
近期我们sinesafe安全部门审计discuz最新版的时候发现配置文件写入导致代码执行的问题。cms安装的时候一般会分为几个步骤去进行,其中有对配置文件config进行写入的步骤,当写入的时候未严格限制传入的参数就存在代码执行问题。
3881 0