统计每月订单数量并生成折线图

本文介绍如何在Yii1.1框架下统计每月订单数量,并通过图表展示。首先在include/components创建了ExecSql.php和GetCharsData.php两个工具类,用于执行SQL和拼接数据。接着在CountController.php中实现订单统计,最后展示包含订单折线图的页面效果。
摘要由CSDN通过智能技术生成

数据库内生成订单时的时间格式是这样的:

这里写图片描述

这里使用Yii1.1框架

1、先在 include/components 下封装了一个执行sql工具类 :ExecSql.php 和 拼接数据的工具类:GetCharsData.php

ExecSql.php代码:

<?php
/***
 * @执行 sql 类。
 */
class ExecSql {
    
    //@执行sql方法【获取所有】
    public static function All($sql){
    
        //@获得数据库对象
        $connection = Yii::app()->db;
        //@执行传递过来的sql
        return $connection->createCommand($sql)->queryALL();
    }
    //@执行sql方法【获取第一条】
    public static function One($sql){
    
        //@获得数据库对象
        $connection = Yii::app()->db;
        //@执行传递过来的sql
        return $connection->createCommand($sql)->queryRow();
    }
}

GetCharsData.php代码:

<?php
/***
 * @拼接图表所需数据类。
 */
class GetCharsData {
   

    /***
     * @array 拼接的数据
     * @获取 Highcharts 所需数据格式
     */
    public static function getHighData($rows){
   
        //按照每年的格式区分数据
        $new_row=array();
        foreach ($rows as $r){
            $year=substr($r['months'],0,4);
            $new_row[$year][]=$r;
        }
        unset($rows);
        //将区分的数据拼接成客户端使用的格式
        $new_arr=array();
        foreach ($new_row as $key=>$val){
            $count='';
            foreach ($val as $v){
                $count.=','.$v['count'];
            }
            $new_arr[$key]='['.substr($count,1).']';
        }
        unset($new_row);
        $data
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值