thinkphp5统计本月每天注册的人数代码片段记录(注册时间为时间戳)

本文记录了使用ThinkPHP5框架统计本月每天注册用户数的代码片段,通过时间戳实现对注册数据的精准统计。
摘要由CSDN通过智能技术生成
public function countMonthUsers()
    {
        $month = date('Y-m',time());
        $prefix = config('database.prefix');
        $semRes = Db::query("select FROM_UNIXTIME(create_time,'%Y-%m-%d') days,count(id) count from ".$prefix."user_submit WHERE FROM_UNIXTIME(create_time,'%Y-%m') = '".$month."' AND delete_time = 0 group by days");

        $seoRes = Db::query("select FROM_UNIXTIME(create_time,'%Y-%m-%d') days,count(id) count from ".$prefix."user_submit WHERE FROM_UNIXTIME(create_time,'%Y-%m') = '".$month."' AND delete_time = 0 group by days");


        // x 轴数据,作为 x 轴标注
        $j = date("t"); //获取当前月份天数
        $start_time = strtotime(date('Y-m-01'));  //获取本月第一天时间戳
        $xData = array();
        for($i=0;$i<$j;$i++)
        {
            $xData[] = d
好的,对于您的问题,我可以给出一个基本的思路和方案: 1. 首先,您需要创建一个用于存储用户数据的数据库表,例如 user 表,包含一些基本的字段,例如 id、name、created_at 等。 2. 在用户注册时,您需要将用户的注册信息保存到数据库中。可以使用 ThinkPHP 的模型来实现数据的添加操作,例如: ```php use app\model\User; $user = new User(); $user->name = '张三'; $user->created_at = time(); $user->save(); ``` 3. 使用 ThinkPHP 的查询构造器查询最近30天内的用户注册数据。可以使用 whereBetween 方法来查询指定日期范围内的数据,例如: ```php use app\model\User; $startTime = strtotime('-29 day'); $endTime = time(); $userCount = User::whereBetween('created_at', [$startTime, $endTime])->count(); ``` 4. 将每天注册数据按照日期进行分组统计。可以使用 ThinkPHP 的 group 方法和 format 方法来实现分组统计和格式化数据,例如: ```php use app\model\User; use think\Collection; $startTime = strtotime('-29 day'); $endTime = time(); $userList = User::field('FROM_UNIXTIME(created_at, "%Y-%m-%d") as date, COUNT(*) as count') ->whereBetween('created_at', [$startTime, $endTime]) ->group('date') ->select(); $userData = Collection::make($userList)->format(function ($item) { return [ 'date' => $item['date'], 'count' => $item['count'], ]; })->toArray(); ``` 5. 最后,您可以将统计结果渲染到页面中,例如使用 ECharts 组件来展示统计图表: ```html <div id="chart" style="width: 100%; height: 400px;"></div> <script src="https://cdn.jsdelivr.net/npm/echarts@5.1.2/dist/echarts.min.js"></script> <script> var data = <?php echo json_encode($userData); ?>; var chart = echarts.init(document.getElementById('chart')); var option = { title: { text: '最近30天每天用户注册数量', }, xAxis: { type: 'category', data: data.map(item => item.date), }, yAxis: { type: 'value', }, series: [{ data: data.map(item => item.count), type: 'bar', }], }; chart.setOption(option); </script> ``` 综上所述,以上是一个基本的使用 ThinkPHP 统计最近30天内每天用户注册数量的方案。当然,具体实现还需要根据您的实际情况进行相应的修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值