zhangjingyu
找到问题在哪里了!原来是统计错误。且简单说下。
本帖发表前站点信息显示论坛帖子总数为31870,按主题相关表pw_threads和pw_tmsgs,及回帖表pw_posts统计,2356+29512=31868,差2个。
查看pw_forumdata表,按版块帖子总数依次记录,分别小计和总计,帖子总数为35798!妈呀,差太多了吧,是不是算错了?查看记录的数据,对照数据表,没错,在分别小计,也没有问题,怎么回事呢?后来想到,哦,原来是有统计重复的。因为子版块的帖子是包含在父版块里的,所以子版块的帖子数统计重复了,需要再减去重复的子版块的帖子:其中隐藏版块fid47(父版块,版块下没有帖子,3300)有fid28、fid19、fid40三个子版块,3204+23+71=3298。说明父版块fid47统计数据有误,正好差2个。;父版块fid14包含子版块fid32,404个帖子;父版块fid15包含子版块fid33和fid18,173和53个帖子。3300+404+173+53=3930,35798-3930=31868,正好和数据表统计数据是对应的。而正是父版块fid47统计错误,多了2个帖子,所以站点信息里显示的帖子总数也就多了2个。
找到问题了,然后怎么办?修改数据表版块fid47的帖子总数。
以此帖记录:
1.按主题相关表pw_threads和pw_tmsgs,及回帖表pw_posts统计的数据为正确的站点主题数和帖子总数。
2.如果帖子总数有差别(主题总数一直都没问题)请检查论坛包含子版块的父版块及其下子版块帖子数是否能对应上,对应的数据表是pw_forumdata。
3.如果差别过大,可能还需要检查后台“内容-回收站”(主题回收站和回复回收站)。