discuzx3.2发帖流程

1、理清模拟disuczx论坛发帖涉及到哪些表
 
(1)主题表  {表前缀}_forum_thread
         这个表的主要数据是tid,即主题ID
(2)post分表协调表  {表前缀}_forum_post_tableid
          这里需要获取一个自增的pid,即帖子ID
(3)帖子表  {表前缀}_forum_post
          记录pid(帖子ID),fid(论坛ID),tid(主题ID),subject(标题),message(消息,帖子内容)等主要信息
(4)版块表 {表前缀}_forum_forum
          这里主要是更新版本的主题、帖子数量
(5)帖子主题审核数据表  {表前缀}_forum_thread_moderate
       这里根据自己状况决定,并不是必选的,百度知道接入这个表不是必须的
(6)用户统计表 {表前缀}_common_member_count
       主要是更新用户的主题数量
 
2 理清 bbs论坛发帖大致流程:
第一步:向主题表forum_thread中插入版块ID,用户ID,用户名,帖子标题,发帖时间等信息
 
第二步:获取第一步插入表forum_thread的数据ID作为主题ID即tid
 
第三步:向post分表协调表forum_post_tableid插入一条数据,这张表只有一个自增字段pid
 
第四步: 获取第三步插入表forum_post_tableid的数据ID,作为pid
 
第五步: 向帖子表pre_forum_post中插入帖子相关信息,这里需要注意的是:pid为第四步的额pid值,tid为第二步的tid值
 
第六步: 更新版块forum_forum相关主题、帖子数量信息
 
第七步:更新用户common_member_count帖子数量信息
 
3 如何使用discuzx的数据库类库
define('APPTYPEID', 2);
require './source/class/class_core.php';
$discuz = C::app();
$discuz->cachelist = $cachelist;
$discuz->init();
之后可以使用C::t('表名(无前缀)')->方法(参数)通过调用./source/class/table/table_{表名}.php对应的方法实现对数据库中相应表的操作
 

你可能感兴趣的:(discuzx3.2发帖流程)