总下载次数,今日已用下载次数,剩余次数 可在任意页面插入 比如前台 列表页 文章页 会员中心 
方法一:
{eyou:php}
$user = session('users');
if(empty($user) || empty($user['users_id'])){
$total_down = '请登录查看';
$downloaded = '-';
$remaining_down = '-';
}else{
// 今日时间范围
$begin_m = strtotime(date('Y-m-d 00:00:00'));
$end_m = strtotime(date('Y-m-d 23:59:59'));
// ① 获取会员对应等级的每日上限
$total_down = \think\Db::name('users_level')
->where('level_id',$user['level'])
->value('down_count');
$total_down = intval($total_down);
// ② 今日已用下载数
$downloaded = \think\Db::name('download_log')
->where('users_id',$user['users_id'])
->where('add_time','between',[$begin_m,$end_m])
->count();
// ③ 计算剩余
$remaining_down = max($total_down - $downloaded, 0);
}
{/eyou:php}
<style>
.down-stat{margin:10px 0;padding:10px;background:#f7f7f7;border-radius:6px;font-size:14px;line-height:26px;}
.down-stat b{color:#d00;}
</style>
<div class="down-stat">
<div>今日可下载上限:<b>{$total_down}</b> 次</div>
<div>今日已下载次数:<b>{$downloaded}</b> 次</div>
<div>今日剩余下载次数:<b>{$remaining_down}</b> 次</div>
</div>方法二:前台方法
{eyou:php}
$down = diy_download_stat();
{/eyou:php}
<div class="down-stat">
今日可下载上限:<b>{$down.total}</b> 次<br>
今日已下载次数:<b>{$down.used}</b> 次<br>
今日剩余下载次数:<b>{$down.remaining}</b> 次
</div>
extend/function.php 末尾加入:
// 统计下载次数
if (!function_exists('diy_download_stat')) {
/**
* 获取当前会员今日下载统计
* 返回数组:
* [
* 'total' => 今日可下载上限,
* 'used' => 今日已下载次数,
* 'remaining' => 今日剩余
* ]
*/
function diy_download_stat($users = [])
{
$users = empty($users) ? session('users') : $users;
if (empty($users['users_id'])) {
return [
'total' => 0,
'used' => 0,
'remaining' => 0,
];
}
// 今日时间范围
$begin_m = strtotime(date('Y-m-d 00:00:00'));
$end_m = strtotime(date('Y-m-d 23:59:59'));
// ① 每日最大下载次数(会员等级决定)
$total = \think\Db::name('users_level')
->where('level_id', $users['level'])
->value('down_count');
$total = intval($total);
// ② 今日已下载次数
$used = \think\Db::name('download_log')
->where('users_id', $users['users_id'])
->where('add_time', 'between', [$begin_m, $end_m])
->count();
// ③ 剩余次数
$remaining = max($total - $used, 0);
return [
'total' => $total,
'used' => $used,
'remaining' => $remaining,
];
}
}