本文主要是介绍php 统计一周的数据,php統計近一周和近30天的用戶數據,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先上一張效果圖
這邊用的是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天的用戶數據的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!