X3.2discuz 发帖步骤

discuz发表主题设计的几个表:(这里列出了主要的几个相关的表)
        1、主题表 pre_forum_thread:这个表一个主要数据就是 tid 主题ID
        2、post 分表协调表 pre_forum_post_tableid:这里需要获取一个自增的 pid
        3、帖子表 pre_forum_post :记录主题pid、fid、tid、title、content等主要信息
        4、版块表 pre_forum_forum:这里主要更新版块的主题、帖子数量
        5、帖子主题审核数据表 pre_forum_thread_moderate:这个可以根据自己状况决定,并不是必须的
        6、用户统计表 pre_common_member_count:主要是更新用户的主题数量

        自己处理发帖主要涉及到了上面6个数据库表,其中第5个不是必须的。

大致流程是这样的:

        第一步:向 主题表 pre_forum_thread 中插入版块ID、用户ID、用户名、帖子标题、发帖时间等信息。

      

$thread_model = M('ForumThread');
    	$time = time();
    	$thread_data=array(
   					'fid'=>$data['fid'],
    				'author'=>$data['author'],
    				'authorid'=>$data['authorid'],
    				'subject'=>$data['subject'],
    				'dateline'=>$time,
    				'lastpost'=>$time,
    				'lastposter'=>$data['author'],
    		        
    				'status'=>'32',
    				'isgroup'=>'1',
    				);


        第二步:获取第一步插入表 pre_forum_thread 的数据ID,作为主题ID,即 tid
        第三步:向 post 分表协调表 pre_forum_post_tableid 插入一条数据,这张表中只有一个自增字段 pid
        第四步:获取 第三步 插入表 pre_forum_post_tableid 的数据ID,作为 pid

        第五部:向帖子表 pre_forum_post 中插入帖子相关信息,这里需要注意的是: pid为第四部的pid值,tid为第二步的tid值

       

$post_data=array(
		    			'pid'=>$pid,                        //帖子ID
    					'tid'=>$tid,                      //论坛ID
    					'fid'=>$data['fid'],           //主题ID
    					'first'=>'1',                                          //首帖为1
		    			'author'=>$data['author'],                   //作者名称
   // 					'invisible'=>'-2',                                    //-2未审核状态
	                                'anonymous'=>empty($data['anonymous'])? '0' : '1' ,    //是否匿名
		    			'authorid'=>$data['authorid'],                        //作者ID
		    			'subject'=>$data['subject'],                            //主题标题
    					'message'=>$data['message'],                          //内容
		    			'dateline'=>$time,                         //发布时间
			    	);


        第六部:更新版块 pre_forum_forum 相关主题、帖子数量信息
        第七步:更新用户 pre_common_member_count 帖子数量信息

        discuz发帖过程主要就是以上7个步骤,通过这几个步骤就可以完成对实现discuz的发帖流程,其中设计到一些积分等其他信息的可以自己加上。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值