文章点击周排行、月排行榜功能开发总结,预备知识:group by,MYSQL函数week()、month(),下面我们以一个示例来分析如何开发一个对文章进行周排行,月排行的功能。
在设计数据库时一般都有一个字段来记录文章的点击率,如果我们要统计一周或一个月点击率排行光靠这一个字段是肯定是无法实现的。这时就要新建一个表,用来记录每篇文章每天的点击率。假设这个表名为ranking,定义四个字段:rid(表ID),contentid(与文章ID关联),hits(记录每天点击率),date(时间,重要,查询时作比较)
ranking大致结构
id contentid hits date
1 2 12 2010-12-18
2 2 23 2010-12-19
3 1 15 2010-12-19
4 2 21 2010-12-20
一、统计
第一步就是要记录文章每天的点击率,这步非常简单,当用户查看某篇文章时,PHP程序会进行一次数据库查询,判断是否存在该条记录,如果不存在,说明是当天第一次浏览该文章,需要插入一条记录,后面的访客再看这篇文章时,只要更新点击率就行。这就是记录某篇文章一天的点击率。
$date = date("Y-m-d",time());
$contentid = $_GET[id];//当前