php统计近一周和近30天的用户数据

php统计近一周和近30天的用户数据

https://blog.csdn.net/shenpengchao/article/details/59073589

先上一张效果图

 

php统计近一周和近30天的用户数据

这边用的是echarts插件http://echarts.baidu.com/

 

上代码(小白写的 别追求什么屌逼代码,就是冗余的面向过程,不服你来咬我)

<div>
	<button οnclick="zhou()" class="btnweek week active" style="margin-left: 300px">按周排</button>
      <button οnclick="yue()" class="btnweek month" style="margin-left: 100px">按月排</button> </div> <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM --> <div id="main" style="width: 95%;height:400px;"></div> <script type="text/javascript"> 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'); } </script>

 这些是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 "<pre>";
		// 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;
	}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/113067.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • jsonArray转list<map>

    jsonArray转list<map>直接转是转不了的需要先得到jsonArray循环得到jsonObject然后保存到map再添加到listList&lt;Map&lt;String,String&gt;&gt;list=newArrayList&lt;Map&lt;String,String&gt;&gt;();…

  • ubuntu系统下安装gcc

    ubuntu系统下安装gcc第一次发帖,规矩不是很懂,我就直接进入主题吧!首先找到software&update然后点击downloadfrom下拉列表点击other选择下载的服务器,找到china,选择中国代理服务器,博主选择的是华为的镜像云服务器mirrors.huaweicloud.com,点击chooseserver来到权限授予窗口,输入你的password(系统创建时候设…

  • zookeeper启动报错 ,无法加载主类_security与safe

    zookeeper启动报错 ,无法加载主类_security与safe最近在本机电脑上zookeeper集群,但是报错如下,哪位大佬知道怎么解决2020-07-1314:43:15,283[myid:]-INFO[main:QuorumPeerConfig@173]-Readingconfigurationfrom:/home/yangaoyu/software/zookeeper-3.6.1/bin/…/conf/zoo.cfg2020-07-1314:43:15,316[myid:]-INFO[main:QuorumPeerConfi

  • supermemo怎么用_mono效果器板

    supermemo怎么用_mono效果器板Supermemo是个不错的背单词的软件(本人并不代理该软件,并非给它做广告),但实际上它可以用来记忆其它的材料。这个软件写得非常早,1992与就有DOS版本,可使用习惯与微软常见软件的风格很不一样,

  • c# MD5加密

    c# MD5加密usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Security.Cryptography;usingSystem.Text;usingSystem.Threading.Tasks;/****************************** *概要:MD5加密 *设…

  • 如何写 Cover Letter 论文投稿「建议收藏」

    如何写 Cover Letter 论文投稿「建议收藏」论文投稿时一般要求附带一篇“CoverLetter”,好的“CoverLetter”不仅可以使文章锦上添花,更有可能直接决定论文是否被录用。本人切身体会,以已发表论文为例,现将其写法经验归纳如下:Dear Editor,We would like to submit the enclosed manuscript entitled "论文题目", which we wish to be con…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号