蝙蝠岛资源网 Design By www.hbtsch.com
                                本文实例讲述了yii框架结合charjs实现统计30天数据的方法。分享给大家供大家参考,具体如下:
理论上30天数据应该都有,但实际上却不一定是,所以需要补全
public static function getDayOrderCharData($days = 30) {
    $nowDay = date('Y-m-d', strtotime('-1day')); // 当前前一天
    $lastDay = date("Y-m-d", strtotime('-'.$days.'day')); // days天前
    $daysFormat = [];
    // 获取到days段的日期
    for($i = $days; $i > 0; $i--) {
      $daysFormat[] = date("Y-m-d", strtotime('-'.$i.'day'));
    }
 
    // 所有用户
    $allOrderData = self::find()
            ->select(['FROM_UNIXTIME(create_at,"%Y-%m-%d") as char_time', 'COUNT(id) as total_order', 'SUM(order_amount) as total_order_amount', 'SUM(pay_amount) as total_order_pay_amount'])
            ->where(['>=', 'FROM_UNIXTIME(create_at,"%Y-%m-%d")', $lastDay])
            ->andWhere(['<=', 'FROM_UNIXTIME(create_at,"%Y-%m-%d")', $nowDay])
            ->groupBy('char_time')
            ->all();
    $dayCountTitle   = Yii::t('backend', 'day_order_count_title', ['last_day' => $lastDay, 'now_day' => $nowDay]);
    $dayAmountTitle  = Yii::t('backend', 'day_order_amount_title', ['last_day' => $lastDay, 'now_day' => $nowDay]);
 
    $labels = $daysFormat;
    // 所有用户
    $orderCounts = []; // 订单数量
    $orderAmounts = []; // 订单金额
    $orderPayAmounts = []; // 支付金额
    $allOrderDataArr = [];
    foreach($allOrderData as $allKey => $allVal) {
      $allOrderDataArr[$allVal->char_time]['char_time'] = $allVal->char_time;
      $allOrderDataArr[$allVal->char_time]['total_order'] = $allVal->total_order;
      $allOrderDataArr[$allVal->char_time]['total_order_amount'] = $allVal->total_order_amount;
      $allOrderDataArr[$allVal->char_time]['total_order_pay_amount'] = $allVal->total_order_pay_amount;
    }
 
    foreach($daysFormat as $key => $val) {
      if(array_key_exists($val, $allOrderDataArr)) {
        $orderCounts[] = $allOrderDataArr[$val]['total_order'];
        $orderAmounts[] = $allOrderDataArr[$val]['total_order_amount'];
        $orderPayAmounts[] = $allOrderDataArr[$val]['total_order_pay_amount'];
      } else {
        $orderCounts[] = '0';
        $orderAmounts[] = '0';
        $orderPayAmounts[] = '0';
      }
    }
    $data = [
      'dayCountTitle'    => $dayCountTitle, 
      'dayAmountTitle'    => $dayAmountTitle,
      'orderCountLabel'   => Yii::t('backend', 'day_order_count_label', ['days' => $days]),
      'orderAmountLabel'   => Yii::t('backend', 'day_order_amount_label', ['days' => $days]),
      'orderPayAmountLabel' => Yii::t('backend', 'day_order_pay_amount_label', ['days' => $days]),
      'nowDay'        => $nowDay,
      'lastDay'       => $lastDay,
      'labels'        => $labels,
      'orderCounts'     => $orderCounts,
      'orderAmounts'     => $orderAmounts,
      'orderPayAmounts'   => $orderPayAmounts
    ];
    return $data;
  }
js
// 按天获取订单数量
  var dayOrderCountChartCanvas = $('#dayOrderCountChart').get(0).getContext('2d')
  var dayOrderCountChartData = {
   labels : <"htmlcode">
public $char_time; // 按时间统计
  public $total_order; // 所有订单
  public $total_order_amount; // 所有订单总额
  public $total_pay_order; // 支付订单
  public $total_pay_amount; // 支付订单总额
  public $total_order_pay_amount; // 支付总额
更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
蝙蝠岛资源网 Design By www.hbtsch.com
                            
                                广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
                        免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
蝙蝠岛资源网 Design By www.hbtsch.com
                        暂无yii框架结合charjs实现统计30天数据的方法的评论...
                                    更新日志
2025年10月31日
                                2025年10月31日
                    - 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]
 
                        