Discuz教程网

Discuz X2.5中帖子数的出现了负数的问题

[复制链接]
authicon dly 发表于 2012-10-6 17:20:00 | 显示全部楼层 |阅读模式
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后台对数据进行一次更新
游客,如果您要查看本帖隐藏内容请回复



上一篇:Discuz X2.5积分系统组成及积分的更新问题
下一篇:Discuz X2.5多个论坛性能优化经验分享
authicon attaboy 发表于 2013-10-20 14:27:39 | 显示全部楼层
的撒的撒娇的撒谎空间
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 08:58

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表