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;
	}

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ms17010复现

    ms17010复现关于漏洞的复现干多了就发现,这种菜鸟级别的复现,,真是没有啥实用性,主要就是,自己玩玩,,,唉,,  ms17_010,好像跟什么永恒之蓝,勒索病毒有啥关系。但是,我这种小白可管不着,而且现在做的所有的复现都是基于防火墙关闭,所以,没有啥技术,复现也白复现。。。。 好了,还是讲复现: 搜索:search17_010很容易看出来,这个第一个方法是搜索网段中主机漏洞的,

    2022年6月6日
    57
  • python 数据合并函数merge( )[通俗易懂]

    python 数据合并函数merge( )[通俗易懂]python中的merge函数与sql中的join用法非常类似,以下是merge()函数中的参数:merge(left,right,how=’inner’,on=None,left_on=None,right_on=None,left_index=False,right_index=False,sort=False,suffixes=(‘_x’,’_y’),cop…

    2022年4月28日
    550
  • BZOJ2803[Poi2012]Prefixuffix——hash

    BZOJ2803[Poi2012]Prefixuffix——hash

    2021年6月12日
    108
  • 1156针cpu排行_755针最强CPU

    1156针cpu排行_755针最强CPUIntel酷睿i7875K¥2330CPU主频:2930MHz智能加速:3600MHz插槽类型:LGA1156制作工艺:45纳米二级缓存:4×256KB三级缓存:8M核心数量:四核心核心类型:Lynnfield线程数:八线程总线类型:DMI总线热设计功耗(TDP):95W内核电压:0.65-1.40V内存控制器:双通道DDR3-1066/1333最大16G64位处理器。…

    2022年9月20日
    1
  • html炫酷动态时钟代码,HTML5动态时钟代码

    html炫酷动态时钟代码,HTML5动态时钟代码HTML5动态时钟代码#clock{stroke:black;stroke-linecap:square;fill:#fcfcfc;width:500px;height:500px;}#face{stroke-width:2px;}#ticks{stroke-width:1px;}#hour{stroke-width:3px;stroke:#00…

    2022年6月28日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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