php 统计一周的数据,php統計近一周和近30天的用戶數據

2024-01-09 15:59

本文主要是介绍php 统计一周的数据,php統計近一周和近30天的用戶數據,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先上一張效果圖

go

go

bb73586a28ff48ff79bbdced733d5e44.png

這邊用的是echarts插件http://echarts.baidu.com/

上代碼(小白寫的 別追求什么屌逼代碼,就是冗余的面向過程,不服你來咬我)

按周排按月排

zhou();

function zhou() {

var myChart = echarts.init(document.getElementById('main'));

$(".week").attr("class","btnweek week active");

$(".month").attr("class","btnweek month");

$.get('?act=welcome&op=index&get_data=week',function(data){

myChart.setOption(data);

},'json');

}

function yue(){

var myChart = echarts.init(document.getElementById('main'));

// 異步加載數據

$(".week").attr("class","btnweek week");

$(".month").attr("class","btnweek month active");

$.get('?act=welcome&op=index&get_data=month',function(data){

myChart.setOption(data);

},'json');

}

這些是html代碼,需要引入一個erchars.js文件 可以從上面網址down下來,接下來上統計的代碼

/*

*

* VIP列表

*

*/

public function indexOp()

{

$model_shop = Model('shop');

$model_admin = Model('admin');

$model_member = Model('member');

$model_ap = Model('ap');

$user=$this->getAdminInfo();

$admin=$model_admin->getOneAdmin($user["id"]);

if($admin["admin_area"]){

$condition["areacode"]=array("in",$admin["admin_area"]);

}

//ap

$shop_id = $model_shop->getShopList($condition, '*');

$sid=array();

foreach($shop_id as $shid){

$sid[]=$shid["id"];

}

$condition_ap["shop_id"]=array("in",$sid);

if ($_GET['get_data']=='week') {

echo $this->get_json_arr(6);

}else if ($_GET['get_data']=='month') {

echo $this->get_json_arr(30);

}else{

Tpl::showpage('welcome.index');

}

}

public function get_json_arr($num=6){

$model_shop = Model('shop');

$model_ap = Model('ap');

//統計商鋪

for($i=$num;$i>=0;$i--){

$daystr=date('Y-m-d', strtotime("-$i day"));

$searchstr="TO_DAYS(from_unixtime(addtime,'%Y-%m-%d'))=TO_DAYS('".$daystr."')";

$shopCount=$model_shop->where($searchstr)->count();

$shopDayCountArray[]=$shopCount;

}

//統計ap

for($i=$num;$i>=0;$i--){

$daystr=date('Y-m-d', strtotime("-$i day"));

$searchstr="TO_DAYS(from_unixtime(addtime,'%Y-%m-%d'))=TO_DAYS('".$daystr."')";

$apCount=$model_ap->where($searchstr)->count();

$dateArray[]=date('m-d', strtotime("-$i day"));

$apDayCountArray[]=$apCount;

}

// echo "

";

// print_r($dateArray);die;

if ($num==6) {

$title='近一周的商鋪和AP的統計';

}else{

$title='近一月的商鋪和AP的統計';

}

//處理json包

$json_arr = array(

'title'=>array('text'=>$title),

'tooltip'=>array('trigger'=>'axis'),

'legend'=>array('data'=>array('商鋪','AP')),

'toolbox'=>array(

'show'=>true,

'feature'=>array(

'dataZoom'=>array('yAxisIndex'=>'none'),

'dataView'=>array('readOnly'=>false),

'magicType'=>array('type'=>array('line','bar')),

'restore'=>array(),

'saveAsImage'=>array()

),

),

'xAxis'=>array('type'=>'category','boundaryGap'=>false,'data'=>$dateArray),

'yAxis'=>array('type'=>'value','interval'=>1,'min'=>0,'axisLabel'=>array('formatter'=>'{value} 個')),

'series'=>array(

array(

'name'=>'商鋪',

'type'=>'line',

'data'=>$shopDayCountArray

),

array(

'name'=>'AP',

'type'=>'line',

'data'=>$apDayCountArray

)

)

);

return json_encode($json_arr);exit;

}

我能看懂就行,您們湊合看吧 主要就是在for循環中查詢的數據。。。=_=!

这篇关于php 统计一周的数据,php統計近一周和近30天的用戶數據的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/587663

相关文章

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数

shell脚本自动删除30天以前的文件(最新推荐)

《shell脚本自动删除30天以前的文件(最新推荐)》该文章介绍了如何使用Shell脚本自动删除指定目录下30天以前的文件,并通过crontab设置定时任务,此外,还提供了如何使用Shell脚本删除E... 目录shell脚本自动删除30天以前的文件linux按照日期定时删除elasticsearch索引s

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

Python给Excel写入数据的四种方法小结

《Python给Excel写入数据的四种方法小结》本文主要介绍了Python给Excel写入数据的四种方法小结,包含openpyxl库、xlsxwriter库、pandas库和win32com库,具有... 目录1. 使用 openpyxl 库2. 使用 xlsxwriter 库3. 使用 pandas 库

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑