[讨论]JSP论坛中帖子的顺序
一个论坛嘛,大家都知道的,新开的主题肯定是位于置顶帖下面,也就是非置顶帖的第一条,回帖后那个主题也会变成第一条。如果是在排序的时候,应该以什么作为基础来对帖子进行排序呢?我自己想了一个解决方案,但觉得不是最好,特发帖来讨论
我的解决方案如下:
在数据库中新增一个字段,比如叫state,当发帖后,取得当前数据库中state值中最大的值,然后+1存给新的帖子,如果有回帖,则取得回帖的主题的state值,再取得当前最大的state值,比较后如果2个值相等则不改变,否则把最大的state值+1后更新给新回帖的主题,这样只要按照state进行排序就能对主题进行排序了。
例子:
有主题1,2,3。对应的state值也为1,2,3。如果新开一个主题4,则取得当前最大的state值3,对其+1后存给主题4。这时有一个对1帖子进行回帖的操作,于是取得当前最大值与该主题的state值相比,当前值比主题的大,+1后更新给帖子1,这时帖子1,2,3,4对应的state值为5,2,3,4。对state进行排序后,顺序为1,4,3,2。
不知道各位有没有其他更好的办法来实现?