主题:  时间问题

stchin

职务:普通成员
等级:1
金币:0.0
发贴:81
注册:2001/2/15 13:42:31
#12001/2/24 11:00:47
我想要使主题列表以发表时间排序,同时使有了新回复的主题也排在前面。这里面我遇到了难题:如果我以title表里的时间排序,有了新回复的主题势必不能显示在最前面,而如果以回复表里的时间排序,则没有回复的主题就不能参加排序。这个问题怎么解决?



romp

职务:普通成员
等级:1
金币:0.0
发贴:141
注册:2001/1/10 21:59:40
#22001/2/24 13:01:38
新回复的用回复时间排列不就行了?
都是时间嘛!



wowomo

职务:普通成员
等级:1
金币:1.0
发贴:309
注册:2001/1/12 21:01:58
#32001/2/24 18:03:20
问题可以这样解决:

主题的时间在加入数据库的时候应该有一个默认的Now(),
这个时间将永远等于最新的回帖的时间,就是说,当你有
一个新的回帖,你就更新主题的时间。



stchin

职务:普通成员
等级:1
金币:0.0
发贴:81
注册:2001/2/15 13:42:31
#42001/2/24 18:22:00
但是我搞不清的是如何更新主题表的时间,在主题刚加入时是有一个时间Now(),但是在有回复时,在另一个表中的主题时间会自动更新吗?主题表的主键是回复表的外键。这种关系怎么动态更新主题表的时间呢?我用的是access,又不能触发。
谢谢你的耐心回复。

wowomo在上个贴子中说
引用:
问题可以这样解决:

主题的时间在加入数据库的时候应该有一个默认的Now(),
这个时间将永远等于最新的回帖的时间,就是说,当你有
一个新的回帖,你就更新主题的时间。



wowomo

职务:普通成员
等级:1
金币:1.0
发贴:309
注册:2001/1/12 21:01:58
#52001/2/24 18:29:31
我不知道你的数据库具体是怎么做的,但是我可以这样做:

假设你的回帖有一个parentid,就是主题的id,你可以在执行完
回帖后这样:

update maintopic set addtime=Now() where id=parentid

应该就可以了。