急求,文章点击率的问题!!!
问如何计算一周内的文章点击率?
不考虑用cookie,并且同一ip同一文章点击,一天只能增加一次。同一ip下有很多文章。
你访问一篇文章,它的浏览数增加一,但同一ip同一文章,一天内只能增加一次,这就防止了恶意刷新。
请问如何做呀???
------解决方案--------------------需要数据库之类的支持,设计一个表
articleId,ip,createDate
1 "10.12.13.14 " ,2007-04-27 10:12:13
------解决方案--------------------用户IP,文章列表联合主键
------解决方案--------------------articleId ip createDate
1 "10.12.13.14 " ,2007-04-27 10:12:13
createDate是这个ip访问这篇文章的时间。不是文章创建时间。
当一个ip访问时,
你到数据库判断今天是不是已经访问过这篇文章了,
if(没有访问过){
// 对应文章浏览次数加1
}
然后更新上面表中的对应记录的访问时间为当前时间
------解决方案--------------------我写段代码流程吧,要去吃饭了,随便写几句
1.得到访问请求,查找来自这个ip这篇文章的最后访问时间
select createDate from mytable where articleId=1 and ip= "10.12.13.14 "
2-1.如果没有获取到时间,说明这个ip是第一次访问这篇文章,就加入到数据库.
insert into mytable(1, "10.12.13.14 ",sysdate())
然后把文章访问次数加1
2-2 如果获取到时间,说明ip已经访问过这文章,判断是否当天访问过的
2-2-1 如果当天访问过,就结束了,不管了
2-2-2 如果当天没有访问过,就设置最新时间,并且把文章访问次数加1
update mytable set createDate=sysdate() where id=1 and ip= "10.12.13.14 "
再吧文章访问次数加1