|
主题: 做了一论坛,关于今日发贴的问题,急!!!
|
 Such a lovely place
职务:普通成员
等级:2
金币:10.0
发贴:573
注册:2001/11/4 21:15:56
|
#12003/7/13 11:21:42
在论坛首页,每个板块有个今日发贴的统计,我有3张表,“板块”、“主题”、“回复”,相互关联,在 “板块”表中(也就是首页使用的表),有个字段为“今日发贴”,默认为0,发了一篇主题或回复,用command加1。
问题是,如何到第二天,把“今日发贴“设为0
我有以下思路,可都有点问题: 1、在首页进行判断,如果date()-最后一贴发布时间=1,然后用command把“今日发贴”设为0,可我要刷新好几次首页才能为0,而不是一次就可以,很奇怪,是缓存在做怪吗?可又不能每次让人清楚历史记录吧?
2、在access里用查询,用板块id分组,用count函数来统计主题和回复,条件是“发布时间”=date() 可问题是,如果该板块没有主题或回复,count函数将会忽略,不进行统计,而不是我希望的显示为0,也就是不显示该板块的内容。
请高手指教,谢谢。
|
 5D荣誉斑竹
职务:普通成员
等级:2
金币:10.0
发贴:710
注册:2001/10/24 18:34:42
|
#22003/7/13 23:22:59
加一个最后更新的字段,比如是LastUpdate,每次加1的时候,也更新LastUpdate为当前日期(Date()),然后判断一下当前日期(Date())是不是和LastUpdate不同,如果不同就表示是第2天了,就把今日发帖置0
|
 Such a lovely place
职务:普通成员
等级:2
金币:10.0
发贴:573
注册:2001/11/4 21:15:56
|
#32003/7/14 15:14:19
首先谢谢小田的答复。 我已经有个“最后更新”字段,每发一主题或回复,最后时间都设成当前时间了。你说的“判断一下当前日期(Date())是不是和LastUpdate不同”是不是在首页?如果在首页判断,我先定义"板块"表的记录集,然后取出最后更新时间和当前时间比较,如果不同,执行command,设今日发贴为0。可我试过了,每次打开首页,都会置0。刚发过帖子,今日发贴显示为1,可当我再打开首页,就又变成0了。是不是我的语句写的有错?(我大致写一下,你帮我看看) <%if lastupdate <> date() then commad end if%> 好象if判断对command不起作用:(
如果在发过帖子后的处理页面判断的话,那么如果第二天没有贴子,command就不起作用了……
|
 缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
|
#42003/7/14 15:34:31
LastUpdate的字段类型?
|
 Such a lovely place
职务:普通成员
等级:2
金币:10.0
发贴:573
注册:2001/11/4 21:15:56
|
#52003/7/14 17:56:29
唉呀,allinhands老兄提醒的对,是不是类型不一致,导致,每次判断都是"<>“?我设的字段类型好像是文本格式。我再来看看
|
 5D荣誉斑竹
职务:普通成员
等级:2
金币:10.0
发贴:710
注册:2001/10/24 18:34:42
|
#62003/7/14 18:39:38
可以使用强制类型转换的函数,你可以这样
<% if CDate(LastDate) <> Date() then 清0 else 加1 end if %>
不过这样的效率不高,最好你使用MSSQL,写在存储过程里速度就快了
|
 mantou_5d
职务:普通成员
等级:3
金币:1.0
发贴:437
注册:2002/10/27 0:08:41
|
#72003/7/14 20:21:25
那样设计的数据库数据冗余太大,还是用sql语言根据时间计算count比较好!
|