好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > yii框架結合charjs實現統計30天數據的方法

yii框架結合charjs實現統計30天數據的方法

熱門標簽:嘟嘟云外呼系統 南寧電話外呼系統線路 咸陽電銷 正規電銷機器人系統 濟源百應電銷機器人聯系方式 南京3D地圖標注 邢臺400電話辦理 重慶外呼電銷系統多少錢 辦理400電話哪家好點

本文實例講述了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 : ?= json_encode($dayOrderChar['labels'], true) ?>,
   datasets: [
    {
     label        : '?= $dayOrderChar['orderCountLabel'] ?>',
     backgroundColor   : 'rgba(0, 192, 293, 0.5)',
     data        : ?= json_encode($dayOrderChar['orderCounts'], true) ?>
    }
   ]
  }
 
  var dayOrderCountChartOptions = {
    scales: {
      xAxes: [{
        gridLines: {
          display: false
        }
      }],
      yAxes: [{
        gridLines: {
          display: false
        }
      }]
    }
  }
 
  var dayOrderCountChart = new Chart(dayOrderCountChartCanvas, {
    type: 'line',
    data: dayOrderCountChartData,
    options: dayOrderCountChartOptions
  });
 
  // 按天獲取訂單及金額
  var dayOrderAmounCanvas = $('#dayOrderAmountChart').get(0).getContext('2d')
  var dayOrderAmounData = {
   labels : ?= json_encode($dayOrderChar['labels'], true) ?>,
   datasets: [
    {
     label        : '?= $dayOrderChar['orderAmountLabel'] ?>',
     backgroundColor   : 'rgba(0, 192, 293, 0.5)',
     data        : ?= json_encode($dayOrderChar['orderAmounts'], true) ?>
    },
    {
     label        : '?= $dayOrderChar['orderPayAmountLabel'] ?>',
     backgroundColor   : 'rgba(0, 166, 90, 0.5)',
     data        : ?= json_encode($dayOrderChar['orderPayAmounts'], true) ?>
    }
   ]
  }
 
  var dayOrderAmounOptions = {
    scales: {
      xAxes: [{
        gridLines: {
          display: false
        }
      }],
      yAxes: [{
        gridLines: {
          display: false
        }
      }]
    }
  }
 
  var dayOrderAmountChart = new Chart(dayOrderAmounCanvas, {
    type: 'line',
    data: dayOrderAmounData,
    options: dayOrderAmounOptions
  });

記住,yii的as一定要在模型利定義公用變量

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程序設計有所幫助。

您可能感興趣的文章:
  • Spring-boot結合Shrio實現JWT的方法
  • JAVA集合框架Map特性及實例解析
  • TP5框架實現一次選擇多張圖片并預覽的方法示例
  • yii框架結合charjs統計上一年與當前年數據的方法示例
  • thinkphp5 框架結合plupload實現圖片批量上傳功能示例
  • TP5框架實現上傳多張圖片的方法分析
  • Apache Shrio安全框架實現原理及實例詳解

標簽:平頂山 河南 隴南 黃山 南通 通遼 武漢 唐山

巨人網絡通訊聲明:本文標題《yii框架結合charjs實現統計30天數據的方法》,本文關鍵詞  yii,框架,結合,charjs,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《yii框架結合charjs實現統計30天數據的方法》相關的同類信息!
  • 本頁收集關于yii框架結合charjs實現統計30天數據的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 91大神精品网站在线观看| 99精品久久毛片A片| 天堂成人在线| 日本韩国全部三级伦在线播放| 撅高两瓣羞耻扒开打屁股主人| 性生生活1~5集观看| 超91福利国产在线观看| 黑人操中国人| 鲤鱼乡H啪肉Np文总攻| 免费看无码一级A片在线播放| 欧美激情一区二区三区| h动态图片| 好爽视频| 国产妇女野外XXXXXX| 日本a在线免费观看| 吃瓜网最新官网地址| 国产精品亚洲AV三区爱咪桃| 快一点老师再用力一点| 免费幼儿在线一幼儿在线| 黄色一级视频在线播放| 曰批视频免费40分钟观看| 啊灬啊别停灬用力啊最新章节| 爱情岛论坛自拍亚洲品质极速福利| 色情亂伦国产AV| 韩国美女激情vip秀福利| 日韩黄网站| 女同调教重口女虐女| 韩国色情巜肉欲办公室2| 男人的天堂京热AV视频成人什社区| 男女性情视频| 果冻传媒天美麻豆| 色婷婷国产精品视频一区二区三区 | 亚洲国产另类无码日韩ⅩⅩ88 | 欧美一级久久精品| 被舔的好舒服| 亚洲欧美日韩在线线精品| 特黄A级毛片免费| 男男gaygays18| 欧美白嫩嫩HD4KAV| 国内不卡一二三四区| ass极品大白腚cpis|