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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C#中保存Gif文件设置透明无效果

    C#中保存Gif文件设置透明无效果在C#中使用Graphics.Clear(Color.Transparent)生成gif格式透明文件时,设置透明不起作用。使用Bitmap.MakeTransparent方法同样也不能使gif文件透明。这两个问题也是微软的设计使然,和gif文件格式有关系。如果要在c#中编程实现透明色,必须另写代码,下面是一位老外的代码/// &lt;summary&gt;/// Make the i…

    2022年7月21日
    13
  • ORA12154和TNS03505监听错误的解决方法「建议收藏」

    ORA12154和TNS03505监听错误的解决方法「建议收藏」原ORA-12154和TNS-03505监听错误的解决方法https://blog.csdn.net/tianlesoftware/article/details/5716028版权声明:https://blog.csdn.net/tianlesoftware/article/details/5716028之前在一台测试机上装了GridControl,今天在这台机器上添加了一个监听,…

    2022年7月24日
    4
  • rwx

    rwx常用的linux文件权限:444r–r–r–600rw——-644rw-r–r–666rw-rw-rw-700rwx——744rwxr–r–755rwxr-xr-x777rwxrwxrwx从左至右,1-3位数字代表文件所有者的权限,4-6位数字代表同组用户的权限,7-9数字代表其他用户的权限。而具体的权限是由数字来表示的,读取的权限等于4,用r表示;写…

    2022年6月13日
    49
  • mysql安装教程csdn_安装配置mysql教程

    mysql安装教程csdn_安装配置mysql教程一、下载地址:https://dev.mysql.com/downloads/mysql/当前最新是8.0版本,我选择上一个最新的mysql-5.7.24-winx64.zip二、安装MySQL安装文件分两种.msi和.zip,.msi需要安装zip格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行环境变量配置zip格式是自己解压我的电脑->属性->高级->环境…

    2022年9月4日
    5
  • HTML5新控件 – 日期和时间选择输入

    HTML5新控件 – 日期和时间选择输入转载自:https://blog.csdn.net/u014063717/article/details/50914466HTML5定义了几个与日期有关的新控件。支持日期控件的浏览器会提供一个方便的下拉式日历,供用户选择。注意:我测试了Chrome和Opera,火狐提供下拉式日历支持,其它浏览器可能仍是一个普通文本框。1,日期控件-date&lt;inputtype="date"valu…

    2022年5月24日
    261
  • sql删除或清空表数据[通俗易懂]

    sql删除或清空表数据[通俗易懂]sql删除或清空表数据一、sql清空表数据的三种方式:二、语法一、sql清空表数据的三种方式:我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:1、truncate–删除所有数据,保留表结构,不能撤销还原2、delete–是逐行删除速度极慢,不适合大量数据删除3、drop–删除表,数据和表结构一起删除,快速二、语法truncatetable表名deletefrom表名deletefrom表

    2022年4月30日
    52

发表回复

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

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