(编辑:jimmy 日期: 2024/11/6 浏览:2)
本文实例为大家分享了php实现按天数、星期、月份查询的搜索框,搜索时候展示数据的统计图,主要展示图形的效果,供大家参考,具体内容如下
1.ajax.php
<" +1 month -1 day"); //该月的最后一周有几天 $lastweekday = date('N',$lastday); //该月的最后一个周末的时间 $endtime = $lastday-3600*24*($lastweekday%7); $step = 3600*24*7;//步长值 $week_arr = array(); for ($i=$starttime; $i<$endtime; $i= $i+3600*24*7){ $week_arr[] = array('key'=>date('Y-m-d',$i).'|'.date('Y-m-d',$i+3600*24*6), 'val'=>date('Y-m-d',$i).'~'.date('Y-m-d',$i+3600*24*6)); } return $week_arr; }
2.datehelper.php
<" +1 month -1 day"); //该月的最后一周有几天 $lastweekday = date('N',$lastday); //该月的最后一个周末的时间 $endtime = $lastday-3600*24*($lastweekday%7); $step = 3600*24*7;//步长值 $week_arr = array(); for ($i=$starttime; $i<$endtime; $i= $i+3600*24*7){ $week_arr[] = array('key'=>date('Y-m-d',$i).'|'.date('Y-m-d',$i+3600*24*6), 'val'=>date('Y-m-d',$i).'~'.date('Y-m-d',$i+3600*24*6)); } return $week_arr; } /** * 处理搜索时间 */ function dealwithSearchTime($search_arr=''){ //初始化时间 //天 if(!isset($search_arr['search_time'])){ $search_arr['search_time'] = date('Y-m-d', time()- 86400); } $search_arr['day']['search_time'] = strtotime($search_arr['search_time']);//搜索的时间 //周 if(!isset($search_arr['searchweek_year'])){ $search_arr['searchweek_year'] = date('Y', time()); } if(!isset($search_arr['searchweek_month'])){ $search_arr['searchweek_month'] = date('m', time()); } if(!isset($search_arr['searchweek_week'])){ $search_arr['searchweek_week'] = implode('|', getWeek_SdateAndEdate(time())); } $weekcurrent_year = $search_arr['searchweek_year']; $weekcurrent_month = $search_arr['searchweek_month']; $weekcurrent_week = $search_arr['searchweek_week']; $search_arr['week']['current_year'] = $weekcurrent_year; $search_arr['week']['current_month'] = $weekcurrent_month; $search_arr['week']['current_week'] = $weekcurrent_week; //月 if(!isset($search_arr['searchmonth_year'])){ $search_arr['searchmonth_year'] = date('Y', time()); } if(!isset($search_arr['searchmonth_month'])){ $search_arr['searchmonth_month'] = date('m', time()); } $monthcurrent_year = $search_arr['searchmonth_year']; $monthcurrent_month = $search_arr['searchmonth_month']; $search_arr['month']['current_year'] = $monthcurrent_year; $search_arr['month']['current_month'] = $monthcurrent_month; return $search_arr; } /** * 获取本周的开始时间和结束时间 * * @param int $current_time * @return string */ function getWeek_SdateAndEdate($current_time){ $current_time = strtotime(date('Y-m-d',$current_time)); $return_arr['sdate'] = date('Y-m-d', $current_time-86400*(date('N',$current_time) - 1)); $return_arr['edate'] = date('Y-m-d', $current_time+86400*(7- date('N',$current_time))); return $return_arr; } /** * 查询每月的周数组 */ function getweekofmonth(){ $year = $_GET['y']; $month = $_GET['m']; $week_arr = getMonthWeekArr($year, $month); echo json_encode($week_arr); die; }
3.statistics.php
<"<b>{$stat_arr['title']}</b>",'x'=>-20):''; //子标题如果为字符串则使用默认样式 is_string($stat_arr['subtitle'])"<b>{$stat_arr['subtitle']}</b>",'x'=>-20):''; //Y轴如果为字符串则使用默认样式 if(is_string($stat_arr['yAxis'])){ $text = $stat_arr['yAxis']; unset($stat_arr['yAxis']); $stat_arr['yAxis']['title']['text'] = $text; } return json_encode($stat_arr); } /** * 获得Column2D统计图数据 * * @param array $stat_arr * @return string */ function getStatData_Column2D($stat_arr){ //图表区、图形区和通用图表配置选项 $stat_arr['chart']['type'] = 'column'; //去除版权信息 $stat_arr['credits']['enabled'] = false; //导出功能选项 $stat_arr['exporting']['enabled'] = false; //标题如果为字符串则使用默认样式 is_string($stat_arr['title'])"<b>{$stat_arr['title']}</b>",'x'=>-20):''; //子标题如果为字符串则使用默认样式 is_string($stat_arr['subtitle'])"<b>{$stat_arr['subtitle']}</b>",'x'=>-20):''; //Y轴如果为字符串则使用默认样式 if(is_string($stat_arr['yAxis'])){ $text = $stat_arr['yAxis']; unset($stat_arr['yAxis']); $stat_arr['yAxis']['title']['text'] = $text; } //柱形的颜色数组 $color = array('#7a96a4','#cba952','#667b16','#a26642','#349898','#c04f51','#5c315e','#445a2b','#adae50','#14638a','#b56367','#a399bb','#070dfa','#47ff07','#f809b7'); foreach ($stat_arr['series'] as $series_k=>$series_v){ foreach ($series_v['data'] as $data_k=>$data_v){ $data_v['color'] = $color[$data_k]; $series_v['data'][$data_k] = $data_v; } $stat_arr['series'][$series_k]['data'] = $series_v['data']; } //print_r($stat_arr); die; return json_encode($stat_arr); } /** * 获得Basicbar统计图数据 * * @param array $stat_arr * @return string */ function getStatData_Basicbar($stat_arr){ //图表区、图形区和通用图表配置选项 $stat_arr['chart']['type'] = 'bar'; //去除版权信息 $stat_arr['credits']['enabled'] = false; //导出功能选项 $stat_arr['exporting']['enabled'] = false; //显示datalabel $stat_arr['plotOptions']['bar']['dataLabels']['enabled'] = true; //标题如果为字符串则使用默认样式 is_string($stat_arr['title'])"<b>{$stat_arr['title']}</b>",'x'=>-20):''; //子标题如果为字符串则使用默认样式 is_string($stat_arr['subtitle'])"<b>{$stat_arr['subtitle']}</b>",'x'=>-20):''; //Y轴如果为字符串则使用默认样式 if(is_string($stat_arr['yAxis'])){ $text = $stat_arr['yAxis']; unset($stat_arr['yAxis']); $stat_arr['yAxis']['title']['text'] = $text; } //柱形的颜色数组 $color = array('#7a96a4','#cba952','#667b16','#a26642','#349898','#c04f51','#5c315e','#445a2b','#adae50','#14638a','#b56367','#a399bb','#070dfa','#47ff07','#f809b7'); foreach ($stat_arr['series'] as $series_k=>$series_v){ foreach ($series_v['data'] as $data_k=>$data_v){ if (!$data_v['color']){ $data_v['color'] = $color[$data_k%15]; } $series_v['data'][$data_k] = $data_v; } $stat_arr['series'][$series_k]['data'] = $series_v['data']; } //print_r($stat_arr); die; return json_encode($stat_arr); } /** * 计算环比 * * @param array $updata * @param array $currentdata * @return string */ function getHb($updata, $currentdata){ if($updata != 0){ $mtomrate = round(($currentdata - $updata)/$updata*100, 2).'%'; } else { $mtomrate = '-'; } return $mtomrate; } /** * 计算同比 * * @param array $updata * @param array $currentdata * @return string */ function getTb($updata, $currentdata){ if($updata != 0){ $ytoyrate = round(($currentdata - $updata)/$updata*100, 2).'%'; } else { $ytoyrate = '-'; } return $ytoyrate; } /** * 地图统计图 * * @param array $stat_arr * @return string */ function getStatData_Map($stat_arr){ //$color_arr = array('#f63a3a','#ff5858','#ff9191','#ffc3c3','#ffd5d5'); $color_arr = array('#fd0b07','#ff9191','#f7ba17','#fef406','#25aae2'); $stat_arrnew = array(); foreach ($stat_arr as $k=>$v){ $stat_arrnew[] = array('cha'=>$v['cha'],'name'=>$v['name'],'des'=>$v['des'],'color'=>$color_arr[$v['level']]); } return json_encode($stat_arrnew); } /** * 获得饼形图数据 * * @param array $data * @return string */ function getStatData_Pie($data){ $stat_arr['chart']['type'] = 'pie'; $stat_arr['credits']['enabled'] = false; $stat_arr['title']['text'] = $data['title']; $stat_arr['tooltip']['pointFormat'] = '{series.name}: <b>{point.y}</b>'; $stat_arr['plotOptions']['pie'] = array( 'allowPointSelect'=>true, 'cursor'=>'pointer', 'dataLabels'=>array( 'enabled'=>$data['label_show'], 'color'=>'#000000', 'connectorColor'=>'#000000', 'format'=>'<b>{point.name}</b>: {point.percentage:.1f} %' ) ); $stat_arr['series'][0]['name'] = $data['name']; $stat_arr['series'][0]['data'] = array(); foreach ($data['series'] as $k=>$v){ $stat_arr['series'][0]['data'][] = array($v['p_name'],$v['allnum']); } //exit(json_encode($stat_arr)); return json_encode($stat_arr); }
4.theline.php
<!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!--引入ECharts文件--> <title>Echarts</title> <script src="/UploadFiles/2021-04-02/echarts.common.min.js">5.time_deal.php
<?php //获取系统年份 /** * * @return string[] */ function getSystemYearArr(){ $year_arr = array('2010'=>'2010','2011'=>'2011','2012'=>'2012','2013'=>'2013','2014'=>'2014','2015'=>'2015','2016'=>'2016','2017'=>'2017','2018'=>'2018','2019'=>'2019','2020'=>'2020'); return $year_arr; } /** * 获得系统月份数组 * * @return array */ function getSystemMonthArr(){ $month_arr = array('1'=>'01','2'=>'02','3'=>'03','4'=>'04','5'=>'05','6'=>'06','7'=>'07','8'=>'08','9'=>'09','10'=>'10','11'=>'11','12'=>'12'); return $month_arr; } /** * 处理搜索时间 */ public function dealwithSearchTime($search_arr){ //初始化时间 //天 if(!$search_arr['search_time']){ $search_arr['search_time'] = date('Y-m-d', time()- 86400); } $search_arr['day']['search_time'] = strtotime($search_arr['search_time']);//搜索的时间 //周 if(!$search_arr['searchweek_year']){ $search_arr['searchweek_year'] = date('Y', time()); } if(!$search_arr['searchweek_month']){ $search_arr['searchweek_month'] = date('m', time()); } if(!$search_arr['searchweek_week']){ $search_arr['searchweek_week'] = implode('|', getWeek_SdateAndEdate(time())); } $weekcurrent_year = $search_arr['searchweek_year']; $weekcurrent_month = $search_arr['searchweek_month']; $weekcurrent_week = $search_arr['searchweek_week']; $search_arr['week']['current_year'] = $weekcurrent_year; $search_arr['week']['current_month'] = $weekcurrent_month; $search_arr['week']['current_week'] = $weekcurrent_week; //月 if(!$search_arr['searchmonth_year']){ $search_arr['searchmonth_year'] = date('Y', time()); } if(!$search_arr['searchmonth_month']){ $search_arr['searchmonth_month'] = date('m', time()); } $monthcurrent_year = $search_arr['searchmonth_year']; $monthcurrent_month = $search_arr['searchmonth_month']; $search_arr['month']['current_year'] = $monthcurrent_year; $search_arr['month']['current_month'] = $monthcurrent_month; return $search_arr; }以上就是本文的全部内容,希望对大家的学习有所帮助。