php+mysql统计日点击、周点击、月点击
php+mysql统计日点击、周点击、月点击
<?php
function appendViews($id)
{
/** @var $sql 此处部分就是获取数据库中的一条数据,之前是用框架写的,这里改成纯php写 */
$sql = "SELECT * FROM `table` WHERE `id`=".$id;
$query = mysql_query($sql);
$result = mysql_fetch_array($query);
$date = $result['date'];//date为“今日日期”
/** 统计日点击 */
if($date == date('Y-m-d'))
{
//如果该记录中的“今日日期”与今天相同,则在日点击上+1
$day_views = $result['day_views'] + 1;
}
else
{
//如果该记录中的“今日日期”与今天不同,则将日期重置为今天的日期,同时将日点击初始为1
$date = date('Y-m-d');
$day_views = 1;
}
/** 统计周点击 */
if(date('W') == date('W', strtotime($date)))
{
//如果该记录中的“今日日期”与今天日期在同一周,则在周点击上+1
$week_views = $result['week_views'] + 1;
}
else
{
//如果该记录中的“今日日期”与今天日期不在同一周,则将日期重置为今天的日期,同时将周点击初始为1(由于之前有判断日点击在先,所以事实上这里不 必重置date,但是我还是在这里写明了,就是想说明一点,如果前面没有统计日点击的话,这里的date是必须重置的,下面的月点击也是一样,)
$date = date('Y-m-d');
$week_views = 1;
}
/** 统计月点击 */
if(date('Ym') == date('Ym', strtotime($date)))
{
//如果该记录中的“今日日期”与今天日期在同一月,则在月点击上+1
$month_views = $result['month_views'] + 1;
}
else
{
//如果该记录中的“今日日期”与今天日期不在同一月,则将日期重置为今天的日期,同时将月点击初始为1
$date = date('Y-m-d');
$month_views = 1;
}
//此时,我们已经得到新的日点击$day_views,周点击$week_views,月点击$month_views,我们只需将这些数据插入数据库就行了。
return array($day_views, $week_views, $month_views);
}
?>