如果是要歸檔方式可以考慮插件 http://www.xiuhaier.com/mall/plus/31545.html
如果是統(tǒng)計方式請用以下方式
if(!function_exists('diy_time_archive_number')){
/**
* 獲取發(fā)布數(shù)量
*
* @param mixed $range 時間范圍標(biāo)識符或天數(shù)
* @return int 返回符合條件的記錄總數(shù)
*/
function diy_time_archive_number($range = '1')
{
$now = time();
$where = [
'arcrank' => 0,
'is_del' => 0,
];
if(is_numeric($range)){
$startOfDay = strtotime(date('Y-m-d', $now) . ' 00:00:00');
$endOfDay = strtotime(date('Y-m-d', $now) . ' 23:59:59');
$where['add_time'] = ['between', [$startOfDay - ($range * 86400), $endOfDay]];
}else{
switch ($range) {
case 'lastweek': //上周
$startOfLastWeek = strtotime('last monday', $now) - 7 * 86400;
$endOfLastWeek = strtotime('last sunday', $now) + 86399;
$where['add_time'] = ['between', [$startOfLastWeek, $endOfLastWeek]];
break;
case 'thisweek': //本周
$startOfWeek = strtotime('last sunday', $now) + 86400;
$endOfWeek = strtotime('next sunday', $now) - 1;
$where['add_time'] = ['between', [$startOfWeek, $endOfWeek]];
break;
case 'thismonth': //本月
$startOfMonth = mktime(0, 0, 0, date('n', $now), 1, date('Y', $now));
$endOfMonth = mktime(23, 59, 59, date('n', $now), date('t', $now), date('Y', $now));
$where['add_time'] = ['between', [$startOfMonth, $endOfMonth]];
break;
case 'lastmonth': //上個月
$startOfLastMonth = mktime(0, 0, 0, date('n', $now)-1, 1, date('Y', $now));
$endOfLastMonth = mktime(23, 59, 59, date('n', $now)-1, date('t', mktime(0, 0, 0, date('n', $now)-1, 1, date('Y', $now))), date('Y', $now));
$where['add_time'] = ['between', [$startOfLastMonth, $endOfLastMonth]];
break;
case 'thisyear': //今年
$startOfYear = mktime(0, 0, 0, 1, 1, date('Y', $now));
$endOfYear = mktime(23, 59, 59, 12, 31, date('Y', $now));
$where['add_time'] = ['between', [$startOfYear, $endOfYear]];
break;
case 'lastyear': //去年
$startOfLastYear = mktime(0, 0, 0, 1, 1, date('Y', $now) - 1);
$endOfLastYear = mktime(23, 59, 59, 12, 31, date('Y', $now) - 1);
$where['add_time'] = ['between', [$startOfLastYear, $endOfLastYear]];
break;
default:
return false;
}
}
$count = db('archives')->where($where)->count();
return $count;
}
}
以上代碼復(fù)制到根目錄/extend/function.php 最下方
然后再模版里調(diào)用
{:diy_time_archive_number()} 默認(rèn)當(dāng)天數(shù)據(jù)
{:diy_time_archive_number(7)} 近7天的數(shù)據(jù)
{:diy_time_archive_number(30)} 近30天的數(shù)據(jù)
{:diy_time_archive_number(365)} 近365天的數(shù)據(jù)
其他的數(shù)字以此類推
其他查詢方式
{:diy_time_archive_number(lastweek)} = 查詢上周記錄
{:diy_time_archive_number(thisweek)} = 查詢本周記錄
{:diy_time_archive_number(thismonth)} = 查詢本月記錄
{:diy_time_archive_number(lastmonth)} = 查詢上月記錄
{:diy_time_archive_number(thisyear)} = 查詢今年記錄
{:diy_time_archive_number(lastyear)} = 查詢?nèi)?/span>年記錄