yii框架結合charjs統計上一年與當前年數據的方法示例_php實例

來源:腳本之家  責任編輯:小易  

確保php已加入環境變量,然后cmd進入console目錄,然后在當前目錄下執行php yii cron/index,對應CronController的index方法。win下的cronjob不知道咋弄,linux下大概就是這樣*/1 * * * * /usr/local/php/bin/php /data/wwwroot/project_name/console/yii cron/indexwww.13333515.buzz防采集請勿采集本網。

本文實例講述了yii框架結合charjs統計上一年與當前年數據的方法。分享給大家供大家參考,具體如下:

在yii2中,由于yii2版本升級導致了,很多yii2的用法跟yii1有著很大的區別,這幾天一直在view層的視圖界面徘徊著,遇到什么問題呢? 問題就是搞不清我該如何去引入CSS,JS文件了

理論上是1年有12個月,但實際上卻是去年12個月已經過了,是完整的12個月,今年的12個月還沒過,不完整,所以需要補齊

->registerJs(); // 這個是直接導入js代碼 $this->registerJsFile(); // 這個是導入js文件 注意,上面需要傳入參數,(在視圖文件使用) 具體的參數,你看下view類,我忘記是哪個v

public static function getYearOrderCharData() { // 獲取當前年 $months = range(1, 12); $currentYear = date('Y'); $lastYear = date('Y', strtotime("-1 year")); // 所有訂單 $allOrderData = self::find() ->select(['FROM_UNIXTIME(create_at,"%Y-%m") as char_time', 'COUNT(id) as total_order', 'SUM(order_amount) as total_order_amount']) ->where(['>=', 'FROM_UNIXTIME(create_at,"%Y")', $lastYear]) ->groupBy('char_time') ->all(); // 已支付訂單 $allPayOrderData = self::find() ->select(['FROM_UNIXTIME(create_at,"%Y-%m") as char_time', 'COUNT(id) as total_order', 'SUM(pay_amount) as total_order_amount']) ->where(['>=', 'FROM_UNIXTIME(create_at,"%Y")', $lastYear]) ->andWhere(['pay_status' => 2]) ->groupBy('char_time') ->all(); $yearCountTitle = Yii::t('backend', 'year_order_count_title', ['last_year' => $lastYear, 'current_year' => $currentYear]); $yearAmountTitle = Yii::t('backend', 'year_order_amount_title', ['last_year' => $lastYear, 'current_year' => $currentYear]); $yearPayCountTitle = Yii::t('backend', 'year_order_pay_count_title', ['last_year' => $lastYear, 'current_year' => $currentYear]); $yearPayAmountTitle = Yii::t('backend', 'year_order_pay_amount_title', ['last_year' => $lastYear, 'current_year' => $currentYear]); $labels = []; // 所有訂單 $lastYearCounts = []; // 前一年月訂單總量 $lastYearAmounts = []; // 前一年月訂單總額 $currentYearCounts = []; // 當前年月訂單總量 $currentYearAmounts = []; // 當前年月訂單額 $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'] = number_format($allVal->total_order_amount / 100, 2, '.', ''); } // 已支付訂單 $lastYearPayCounts = []; // 前一年月支付訂單總量 $lastYearPayAmounts = []; // 前一年月支付訂單總額 $currentYearPayCounts = []; // 當前年月支付訂單總量 $currentYearPayAmounts = []; // 當前年月支付訂單額 $allPayOrderDataArr = []; foreach($allPayOrderData as $payKey => $payVal) { $allPayOrderDataArr[$payVal->char_time]['char_time'] = $payVal->char_time; $allPayOrderDataArr[$payVal->char_time]['total_order'] = $payVal->total_order; $allPayOrderDataArr[$payVal->char_time]['total_order_amount'] = number_format($payVal->total_order_amount / 100, 2, '.', ''); } foreach($months as $key => $val) { $label = $val . Yii::t('backend', 'month'); $labels[] = $label; $theMonth = strlen($val) == 2 ? $val : '0' . $val; // 上一年 $lastYearMonth = $lastYear . '-' . $theMonth; if(array_key_exists($lastYearMonth, $allOrderDataArr)) { $lastYearCounts[] = $allOrderDataArr[$lastYearMonth]['total_order']; $lastYearAmounts[] = $allOrderDataArr[$lastYearMonth]['total_order_amount']; } else { $lastYearCounts[] = '0'; $lastYearAmounts[] = '0'; } if(array_key_exists($lastYearMonth, $allPayOrderDataArr)) { $lastYearPayCounts[] = $allPayOrderDataArr[$lastYearMonth]['total_order']; $lastYearPayAmounts[] = $allPayOrderDataArr[$lastYearMonth]['total_order_amount']; } else { $lastYearPayCounts[] = '0'; $lastYearPayAmounts[] = '0'; } // 當前年 $currentYearMonth = $currentYear . '-' . $theMonth; if(array_key_exists($currentYearMonth, $allOrderDataArr)) { $currentYearCounts[] = $allOrderDataArr[$currentYearMonth]['total_order']; $currentYearAmounts[] = $allOrderDataArr[$currentYearMonth]['total_order_amount']; } else { $currentYearCounts[] = '0'; $currentYearAmounts[] = '0'; } if(array_key_exists($currentYearMonth, $allPayOrderDataArr)) { $currentYearPayCounts[] = $allPayOrderDataArr[$currentYearMonth]['total_order']; $currentYearPayAmounts[] = $allPayOrderDataArr[$currentYearMonth]['total_order_amount']; } else { $currentYearPayCounts[] = '0'; $currentYearPayAmounts[] = '0'; } } $data = [ 'yearCountTitle' => $yearCountTitle, 'yearAmountTitle' => $yearAmountTitle, 'yearPayCountTitle' => $yearPayCountTitle, 'yearPayAmountTitle' => $yearPayAmountTitle, 'lastYear' => $lastYear, 'currentYear' => $currentYear, 'labels' => $labels, 'lastYearCounts' => $lastYearCounts, 'lastYearAmounts' => $lastYearAmounts, 'currentYearCounts' => $currentYearCounts, 'currentYearAmounts' => $currentYearAmounts, 'lastYearPayCounts' => $lastYearPayCounts, 'lastYearPayAmounts' => $lastYearPayAmounts, 'currentYearPayCounts' => $currentYearPayCounts, 'currentYearPayAmounts' => $currentYearPayAmounts, ]; return $data; }

ml40">該頁將在 <span id='setouttime'>3</span>秒后自動跳轉!</p> </div> <!--操作成功 end--> <script language=javascript>

js

registerMetaTag('author','作者'); //如何在控制器添加CSS文件或JavaScript文件 Yii::app messge here"); 更多關于Yii相關內容感興趣的讀者可查看本站專題:《Yii框架入門

// 訂單總量對比 var yearOrderCountChartCanvas = $('#yearOrderCountChart').get(0).getContext('2d') var yearOrderCountChartData = { labels : <?= json_encode($orderChar['labels'], true) ?>, datasets: [ { label : '<?= $orderChar['lastYear'] ?>', backgroundColor : 'rgba(0, 192, 239, 0.5)', data : <?= json_encode($orderChar['lastYearCounts'], true) ?> }, { label : '<?= $orderChar['currentYear'] ?>', backgroundColor : 'rgba(0, 135, 239, 0.5)', data : <?= json_encode($orderChar['currentYearCounts'], true) ?> } ] } var yearOrderCountChartOptions = { scales: { xAxes: [{ gridLines: { display: false } }], yAxes: [{ gridLines: { display: false } }] } } var yearOrderCountChart = new Chart(yearOrderCountChartCanvas, { type: 'line', data: yearOrderCountChartData, options: yearOrderCountChartOptions }); // 支付訂單總量對比 var yearOrderPayCountChartCanvas = $('#yearOrderPayCountChart').get(0).getContext('2d') var yearOrderPayCountChartData = { labels : <?= json_encode($orderChar['labels'], true) ?>, datasets: [ { label : '<?= $orderChar['lastYear'] ?>', backgroundColor : 'rgba(0, 166, 90, 0.5)', data : <?= json_encode($orderChar['lastYearPayCounts'], true) ?> }, { label : '<?= $orderChar['currentYear'] ?>', backgroundColor : 'rgba(0, 166, 11, 0.5)', data : <?= json_encode($orderChar['currentYearPayCounts'], true) ?> } ] } var yearOrderPayCountChartOptions = { scales: { xAxes: [{ gridLines: { display: false } }], yAxes: [{ gridLines: { display: false } }] } } var yearOrderPayCountChart = new Chart(yearOrderPayCountChartCanvas, { type: 'line', data: yearOrderPayCountChartData, options: yearOrderPayCountChartOptions }); // 訂單總額對比 var yearOrderAmountChartCanvas = $('#yearOrderAmountChart').get(0).getContext('2d') var yearOrderAmountChartData = { labels : <?= json_encode($orderChar['labels'], true) ?>, datasets: [ { label : '<?= $orderChar['lastYear'] ?>', backgroundColor : 'rgba(0, 192, 239, 0.5)', data : <?= json_encode($orderChar['lastYearAmounts'], true) ?> }, { label : '<?= $orderChar['currentYear'] ?>', backgroundColor : 'rgba(0, 135, 239, 0.5)', data : <?= json_encode($orderChar['currentYearAmounts'], true) ?> } ] } var yearOrderAmountChartOptions = { scales: { xAxes: [{ gridLines: { display: false } }], yAxes: [{ gridLines: { display: false } }] } } var yearOrderAmountChart = new Chart(yearOrderAmountChartCanvas, { type: 'line', data: yearOrderAmountChartData, options: yearOrderAmountChartOptions }); // 支付訂單總額對比 var yearOrderPayAmountChartCanvas = $('#yearOrderPayAmountChart').get(0).getContext('2d') var yearOrderPayAmountChartData = { labels : <?= json_encode($orderChar['labels'], true) ?>, datasets: [ { label : '<?= $orderChar['lastYear'] ?>', backgroundColor : 'rgba(0, 166, 90, 0.5)', data : <?= json_encode($orderChar['lastYearPayAmounts'], true) ?> }, { label : '<?= $orderChar['currentYear'] ?>', backgroundColor : 'rgba(0, 166, 11, 0.5)', data : <?= json_encode($orderChar['currentYearPayAmounts'], true) ?> } ] } var yearOrderPayAmountChartOptions = { scales: { xAxes: [{ gridLines: { display: false } }], yAxes: [{ gridLines: { display: false } }] } } var yearOrderPayAmountChart = new Chart(yearOrderPayAmountChartCanvas, { type: 'line', data: yearOrderPayAmountChartData, options: yearOrderPayAmountChartOptions });

你這是明顯的沒有權限上傳文件,能看能下載。沒有上傳寫入權限。 Access is denied。 沒有權限操作的提示。你最好聯系一下你的FTP提供方,問他們是不是沒給你寫入權限

記住,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; // 支付總額

展開全部 1,在siteController.php中 public function actionBaseJs() { $this->layout = false; $this->render("base"); } 2,在view/site/base.php里 < php /** * 用來在客

更多關于Yii相關內容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總

區別在于框架。框架比較:1 yii框架,美國華人開發的框架, 薛強,純OOP框架。 2 thinkphp框架。 2 CI 輕量級框架,開發速度快,部署靈活。 3 cakephp 外國框架,重量級框架。 4 sym

希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。

在config/main.php中 'components'=>array( 'db'=>array( 'enableParamLogging' => true,//增加這行 ), 'log'=>array( &

學框架用的是一種思想熟練掌握mvc思想后面你要接觸的框架還很多,內容來自www.13333515.buzz請勿采集。


  • 本文相關:
  • spring-boot結合shrio實現jwt的方法
  • java集合框架map特性及實例解析
  • tp5框架實現一次選擇多張圖片并預覽的方法示例
  • yii框架結合charjs實現統計30天數據的方法
  • thinkphp5 框架結合plupload實現圖片批量上傳功能示例
  • tp5框架實現上傳多張圖片的方法分析
  • apache shrio安全框架實現原理及實例詳解
  • thinkphp簡單調用函數與類庫的方法
  • php實現基于狀態的責任鏈審批模式詳解
  • app判斷鏈接參數后綴跳轉不同地址的方法
  • thinkphp采用<volist>實現三級循環代碼實例
  • thinkphp瀏覽歷史功能實現方法
  • yii2中組件的注冊與創建方法
  • ci框架中集成ckeditor編輯器的教程
  • php實現動態web服務器方法
  • zend framework實現多服務器共享session數據的方法
  • zend framework教程之autoloading用法詳解
  • yii框架好難怎么學
  • Yii框架在windows下如何允許控制臺命令
  • yii框架使用model出現 table does not exist的解決辦法
  • yii form 表單提交之前JS在提交按鈕的驗證方法
  • 如何更改默認yii css和js
  • yii的view如何注冊js文件,使之最終包含于最終的html輸出里
  • yii 里面js 怎么跳轉頁面
  • Yii控制器中操作視圖js的方法
  • yii1.1.14網站,css js 以及theme下的php文件,為何無法修改,修改...
  • yii1.1.14網站,css js 以及theme下的php文件,為何無法修改,修改...
  • yii js代碼中怎么引用yii中的變量
  • YII框架和THINKPHP的區別
  • yii框架save時候 如何打印sql
  • yii框架中的andFilterWhere 和 andWhere的區別
  • yii框架中用save()方法執行update語句不成功怎么解決
  • yii框架適合做cms開發嗎 其優缺點是什么?
  • yii框架中用save()方法執行update語句不成功怎么解決
  • yii框架下面遇到這種問題,怎么解決?
  • php YII框架中的$this
  • 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全php基礎php技巧php實例php文摘php模板首頁php編程php實例yii框架入門及常用技巧總結php優秀開發框架總結smarty模板入門基礎教程php面向對象程序設計入門教程php字符串(string)用法總結php+mysql數據庫操作入門教程php常見數據庫操作技巧匯總spring-boot結合shrio實現jwt的方法java集合框架map特性及實例解析tp5框架實現一次選擇多張圖片并預覽的方法示例yii框架結合charjs實現統計30天數據的方法thinkphp5 框架結合plupload實現圖片批量上傳功能示例tp5框架實現上傳多張圖片的方法分析apache shrio安全框架實現原理及實例詳解thinkphp簡單調用函數與類庫的方法php實現基于狀態的責任鏈審批模式詳解app判斷鏈接參數后綴跳轉不同地址的方法thinkphp采用<volist>實現三級循環代碼實例thinkphp瀏覽歷史功能實現方法yii2中組件的注冊與創建方法ci框架中集成ckeditor編輯器的教程php實現動態web服務器方法zend framework實現多服務器共享session數據的方法zend framework教程之autoloading用法詳解php獲取數組長度的方法(有實例)微信公眾平臺實現獲取用戶openid教你如何使用php session使用php生成二維碼的兩種方法(帶php發送get、post請求的6種方法簡php中把stdclass object轉array的微信公眾平臺網頁授權獲取用戶基laravel框架數據庫curd操作、連貫php刪除數組中空值的方法介紹php從數組中刪除元素的四種方法實laravel框架formrequest中重寫錯誤處理的php 服務端集成支付寶app支付實例php兩點地理坐標距離的計算方法php cc攻擊代碼與防范方法php 讀取文件夾下所有圖片、文件的實例基于thinkphp6.0的success、error實現方法深入學習微信網址鏈接解封的防封原理visi利用php的ob緩存機制實現頁面靜態化方法thinkphp3.2框架自定義配置和加載用法示例laravel框架實現修改登錄和注冊接口數據返
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.13333515.buzz All Rights Reserved
    3排列五开奖结果