1.改过积分的计算策略引起的
如果先前改过积分的策略会导致用户的一些统计出现异常,比例失调,最保险的办法就是自己写一个补充程序,在编辑们删除非法帖子的同时,把对应的主题数,金币数按照后台积分设置比率来进行重置,因为统计是全局的,或者基于这个bug来写一个清理的程序来协调
2.在后台进行删除用户或主题帖子造成的
你在后台操作完这些操作后,要重新在后台重新执行所有的统计(保险这么做),也可以根据你具体在后台怎么操作的,比如删除主题就要重新进行主题回复统计等等!最后在更新一下论坛缓存!
但是一般统计更新操作是慎用的,以前操作老会导致数据的统计突然出现很大的出入,导致很多用户的一些出现问题
3.也许是是Discuz的一个Bug
出错的文件是 admincp_members.php
由于直接在前台点禁止会员进入到后台管理页面,
禁止类型钩选禁止发言,然后清空该用户相关内容,选择全选,或者是帖子都可以,然后执行,执行后就可以在会员信息查看到,问题在于执行SQL查询表 common_member_count 时,本来应该是删除对应的 threads 和 posts 的数值,但是实际上仅查询了posts字段并没有影响 threads 字段,所以就造成帖子数量为负数,但主题数量没有改变!
解决方案。可以多查询一个threads表的语句。或者是在执行查询posts同时执行threads的查询。
但是个人认为,还是多一个threads查询的钩选项比较好一些,多一个选项,也许有的站长仅想删除帖子的数量,并不想删除掉主题的数量!!
删除用户和帖子的时候应该注意一些方面的:
1,删除后更新后台用户统计的全局设置
2,删除时选择将用户的附带数据一并删除,然后更新统计
3,删除后如果有MC的开启下,还需要对MC的数据做关联删除
4,如果还不行,那建议去UC后台对数据进行一次更新
|