| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1344 人关注过本帖
标题:[讨论]JSP论坛中帖子的顺序
取消只看楼主 加入收藏
飘飘叶子
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:597
专家分:10
注 册:2005-8-17
收藏
 问题点数:0 回复次数:4 
[讨论]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。
不知道各位有没有其他更好的办法来实现?
搜索更多相关主题的帖子: 置顶帖 JSP 数据库 state 
2006-09-08 08:43
飘飘叶子
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:597
专家分:10
注 册:2005-8-17
收藏
得分:0 
我当然也考虑过用时间啦,但这样一来就有2个步骤需要做
第一,取得主题的所有时间并排序(因为要考虑主题还没有回帖的情况),取得回帖中最晚发表的帖子的时间
第二,将2个时间进行比对,最后得出顺序

综合下来,我还是放弃了这个方案……

向着软件工程师的目标前进!
2006-09-08 10:51
飘飘叶子
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:597
专家分:10
注 册:2005-8-17
收藏
得分:0 
我想……静老大的这个论坛也不会是自己写的吧。。。太浩大了点……

向着软件工程师的目标前进!
2006-09-08 11:00
飘飘叶子
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:597
专家分:10
注 册:2005-8-17
收藏
得分:0 
发现UT就等于我的那个state……只是我用的是数字表示,而UT是用时间表示

向着软件工程师的目标前进!
2006-09-08 12:36
飘飘叶子
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:597
专家分:10
注 册:2005-8-17
收藏
得分:0 
有道理啊……哈哈,那么就是在有回帖的时候把时间更新一下,然后比较一下发帖时间和更新时间咯?
这个办法好~

向着软件工程师的目标前进!
2006-09-08 13:07
快速回复:[讨论]JSP论坛中帖子的顺序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015729 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved