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

相关文章

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十