Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

一次帖子楼层错位分析

[复制链接]
imtest01 发表于 2014-9-23 09:55:55 | 显示全部楼层 |阅读模式
现象:部分帖子的楼层错乱规律:错乱回复的dateline相同
原因:
(1)在获取帖子内容时,先判断是否是非抢楼贴(rushreply=1,一般都不是)且forum_threaddisablepos中是否有该帖子的记录【有被删除回复时,在该表中有记录】,如果任一条件不满足相符,则按照position排序(这个数据是正确的)
(2)有问题的帖子,恰恰是在forum_threaddisablepos中有记录的(就是回复中有被删除的),此时就不再按position排序,而是按dateline排序,相同的dateline,按照数据库自然顺序,就可能会发生乱序情况
也就是说,如果帖子中有被删除的回复,系统就不再按普通的排序方式(position)排序,而是按发帖时间(dateline)排序,此时某些帖子的顺序就可能错乱。

解决方法,在不修改程序的情况下,只能手工为错乱回复的dateline加1秒,还好,这样的帖子不多

 楼主| imtest01 发表于 2014-9-24 09:24:46 | 显示全部楼层
补充一下,检索的文件是:source/module/forum/forum_viewthread.php,第390行--第619行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-2-25 22:25 , Processed in 0.021802 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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