燃眉之急!ASP程序实现对数据库记录的本周排名与上周排名

xylanler 2006-04-15 12:58:59
每访问一次某一ASP页面,更新数据库中的对应记录的字段DOT+1,然后再根据周的不同计算本周的排名与上周的排名,并将结果呈现至页面上。请各位老师指导实现。感谢!
...全文
124 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bingdian37 2006-04-15
  • 打赏
  • 举报
回复

使用vbs的内置函数datepart

datepart("ww",now())
返回当前日期是本年的哪一周,数字型



具体用法参见vbs参考

//=========================================================================
DatePart 函数
返回给定日期的指定部分。

DatePart(interval, date[, firstdayofweek[, firstweekofyear]])

Arguments
interval

必选项。字符串表达式表示要返回的时间间隔。有关数值,请参阅“设置”部分。

Date

必选项。要计算的日期表达式。

firstdayof week

可选项。指定星期中的第一天的常数。如果没有指定,则默认为星期日。有关数值,请参阅“设置”部分。

Firstweekofyear

可选项。指定一年中第一周的常数。如果没有指定,则默认为 1 月 1 日所在的星期。有关数值,请参阅“设置”部分。

设置
interval 参数可以有以下值:

设置 描述
yyyy 年
q 季度
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 小时
n 分钟
s 秒


firstdayofweek 参数可以有以下值:

常数 值 描述
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbSunday 1 星期日(默认)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六


firstweekofyear 参数可以有以下值:

常数 值 描述
vbUseSystem 0 使用区域语言支持 (NLS) API 设置。
vbFirstJan1 1 由 1 月 1 日所在的星期开始(默认)。
vbFirstFourDays 2 由在新年中至少有四天的第一周开始。
vbFirstFullWeek 3 由在新的一年中第一个完整的周(不跨年度)开始。


说明
DatePart 函数用于计算日期并返回指定的时间间隔。例如使用 DatePart 计算某一天是星期几或当前的时间。

firstdayofweek 参数会影响使用“w”和“ww”间隔符号的计算。

如果 date 是日期文字,则指定的年度会成为日期的固定部分。但是如果 date 被包含在引号 (" ") 中,并且省略年份,则在代码中每次计算 date 表达式时,将插入当前年份。这样就可以编写适用于不同年份的程序代码。.

下面的示例利用 DatePart 函数获得日期并显示该日所在的季节。

Function GetQuarter(TheDate)
GetQuarter = DatePart("q", TheDate)
End Function
//===================================================================
xylanler 2006-04-15
  • 打赏
  • 举报
回复
多谢bingdian37(冰点)的思路提示!

设一个总的点击数dot0,本周的点击数dot1,上周的点击数dot2
当时间是本周时,更新上周点击数为dot2=dot0-dot1
提取上周排名数据:select * from xxx order by dot2 desc
本周为:selcet * from xxx order by dot1 desc
总排名为:select * from xxx order by dot0 desc

另外如何计算当前时间与lasttime是本周还是上周呢?
在网上找了好久的周计算函数都没有适合我用的。
你那有没有这方面的资料?谢谢!bingdian37(冰点)
bingdian37 2006-04-15
  • 打赏
  • 举报
回复
对了,
记得同时更新一下lasttime字段
bingdian37 2006-04-15
  • 打赏
  • 举报
回复
不能只使用一个计数字段吧
怎么也得本周一个dot1,上周一个dot2,然后有个最后写入时间lasttime
最好是这样
默认的是写入dot1的
但是写入时需要检测一下

如果本次写入的时间于上次写入时间不在同一周
则判定
如果上次写入是在上周

dot2=dot1
dot1=1
否则
dot2=0
dot1=1
否则
dot1=dot1+1

剩下的事情就好办了
有不明白的继续ask
谢谢

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧