




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、php实现按天数、星期、月份查询的搜索框_ 本文实例为大家分享了php实现按天数、星期、月份查询的搜索框,搜索时候展现数据的统计图,主要展现图形的效果,供大家参考,具体内容如下 1.ajax.php ?php $year = $_GETy; if(!isset($_GETm) $month=1; else $month = $_GETm; $week_arr = getMonthWeekArr($year, $month); echo json_encode($week_arr); die; /* * 获得系统某月的周数组,第一周不足的需要补足 * * param int $current_y
2、ear * param int $current_month * return string */ function getMonthWeekArr($current_year, $current_month) /该月第一天 $firstday = strtotime($current_year.-.$current_month.-01); /该月的第一周有几天 $firstweekday = (7 - date(N,$firstday) +1); /计算该月第一个周一的时间 $starttime = $firstday-3600*24*(7-$firstweekday); /该月的最终一天
3、$lastday = strtotime($current_year.-.$current_month.-01. +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
4、(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 ?php /获得系统年份数组 /* * * return string */ function getSystemYearArr() $year_arr = array(2021=2021,2021=2021,2021=2021,2021=2021,2021=2021,2021=2021,2021=2021,2021=2021,2021=2021,2021=2
5、021,2021=2021); 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; /* * 获得系统周数组 * * return string */ function getSystemWeekArr() $week_arr = array(1=周一,2=周二,3=周三,4=周四,
6、5=周五,6=周六,7=周日); return $week_arr; /* * 猎取某月的最终一天 * * param int $year * param int $month * return number */ function getMonthLastDay($year, $month) $t = mktime(0, 0, 0, $month + 1, 1, $year); $t = $t - 60 * 60 * 24; return $t; /* * 获得系统某月的周数组,第一周不足的需要补足 * * param int $current_year * param int $curre
7、nt_month * return string */ function getMonthWeekArr($current_year, $current_month) /该月第一天 $firstday = strtotime($current_year.-.$current_month.-01); /该月的第一周有几天 $firstweekday = (7 - date(N,$firstday) +1); /计算该月第一个周一的时间 $starttime = $firstday-3600*24*(7-$firstweekday); /该月的最终一天 $lastday = strtotime($
8、current_year.-.$current_month.-01. +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-
9、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_arrsearch_time) $search_arrsearch_time = date(Y-m-d, time()- 86400); $search_arrdaysearch_time = strtotime($search_arrsearch_time);/搜索的
10、时间 /周 if(!isset($search_arrsearchweek_year) $search_arrsearchweek_year = date(Y, time(); if(!isset($search_arrsearchweek_month) $search_arrsearchweek_month = date(m, time(); if(!isset($search_arrsearchweek_week) $search_arrsearchweek_week = implode(|, getWeek_SdateAndEdate(time(); $weekcurrent_year
11、= $search_arrsearchweek_year; $weekcurrent_month = $search_arrsearchweek_month; $weekcurrent_week = $search_arrsearchweek_week; $search_arrweekcurrent_year = $weekcurrent_year; $search_arrweekcurrent_month = $weekcurrent_month; $search_arrweekcurrent_week = $weekcurrent_week; /月 if(!isset($search_ar
12、rsearchmonth_year) $search_arrsearchmonth_year = date(Y, time(); if(!isset($search_arrsearchmonth_month) $search_arrsearchmonth_month = date(m, time(); $monthcurrent_year = $search_arrsearchmonth_year; $monthcurrent_month = $search_arrsearchmonth_month; $search_arrmonthcurrent_year = $monthcurrent_y
13、ear; $search_arrmonthcurrent_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_arrsdate = date(Y-m-d, $current_time-86400*(date
14、(N,$current_time) - 1); $return_arredate = date(Y-m-d, $current_time+86400*(7- date(N,$current_time); return $return_arr; /* * 查询每月的周数组 */ function getweekofmonth() $year = $_GETy; $month = $_GETm; $week_arr = getMonthWeekArr($year, $month); echo json_encode($week_arr); die; 3.statistics.php ?php /*
15、 * 统计 * * abstract * * copyright 格里西,2021 * * author liujun * * version Id:statics v1.0 2021/2/5 */ /* * 获得折线图统计图数据 * * param $statarr 图表需要的设置项 * return string */ function getStatData_LineLabels($stat_arr) /图表区、图形区和通用图表配置选项 $stat_arrcharttype = line; /图表序列颜色数组 $stat_arrcolors?:$stat_arrcolors = arra
16、y(#058DC7, #ED561B, #8bbc21, #0d233a); /去除版权信息 $stat_arrcreditsenabled = false; /导出功能选项 $stat_arrexportingenabled = false; /标题假如为字符串则用法默认样式 is_string($stat_arrtitle)?$stat_arrtitle = array(text=b$stat_arrtitle/b,x=-20):; /子标题假如为字符串则用法默认样式 is_string($stat_arrsubtitle)?$stat_arrsubtitle = array(text=b
17、$stat_arrsubtitle/b,x=-20):; /Y轴假如为字符串则用法默认样式 if(is_string($stat_arryAxis) $text = $stat_arryAxis; unset($stat_arryAxis); $stat_arryAxistitletext = $text; return json_encode($stat_arr); /* * 获得Column2D统计图数据 * * param array $stat_arr * return string */ function getStatData_Column2D($stat_arr) /图表区、图形
18、区和通用图表配置选项 $stat_arrcharttype = column; /去除版权信息 $stat_arrcreditsenabled = false; /导出功能选项 $stat_arrexportingenabled = false; /标题假如为字符串则用法默认样式 is_string($stat_arrtitle)?$stat_arrtitle = array(text=b$stat_arrtitle/b,x=-20):; /子标题假如为字符串则用法默认样式 is_string($stat_arrsubtitle)?$stat_arrsubtitle = array(text=
19、b$stat_arrsubtitle/b,x=-20):; /Y轴假如为字符串则用法默认样式 if(is_string($stat_arryAxis) $text = $stat_arryAxis; unset($stat_arryAxis); $stat_arryAxistitletext = $text; /柱形的颜色数组 $color = array(#7a96a4,#cba952,#667b16,#a26642,#349898,#c04f51,#5c315e,#445a2b,#adae50,#14638a,#b56367,#a399bb,#070dfa,#47ff07,#f809b7)
20、; foreach ($stat_arrseries as $series_k=$series_v) foreach ($series_vdata as $data_k=$data_v) $data_vcolor = $color$data_k; $series_vdata$data_k = $data_v; $stat_arrseries$series_kdata = $series_vdata; /print_r($stat_arr); die; return json_encode($stat_arr); /* * 获得Basicbar统计图数据 * * param array $sta
21、t_arr * return string */ function getStatData_Basicbar($stat_arr) /图表区、图形区和通用图表配置选项 $stat_arrcharttype = bar; /去除版权信息 $stat_arrcreditsenabled = false; /导出功能选项 $stat_arrexportingenabled = false; /显示datalabel $stat_arrplotOptionsbardataLabelsenabled = true; /标题假如为字符串则用法默认样式 is_string($stat_arrtitle)?$
22、stat_arrtitle = array(text=b$stat_arrtitle/b,x=-20):; /子标题假如为字符串则用法默认样式 is_string($stat_arrsubtitle)?$stat_arrsubtitle = array(text=b$stat_arrsubtitle/b,x=-20):; /Y轴假如为字符串则用法默认样式 if(is_string($stat_arryAxis) $text = $stat_arryAxis; unset($stat_arryAxis); $stat_arryAxistitletext = $text; /柱形的颜色数组 $co
23、lor = array(#7a96a4,#cba952,#667b16,#a26642,#349898,#c04f51,#5c315e,#445a2b,#adae50,#14638a,#b56367,#a399bb,#070dfa,#47ff07,#f809b7); foreach ($stat_arrseries as $series_k=$series_v) foreach ($series_vdata as $data_k=$data_v) if (!$data_vcolor) $data_vcolor = $color$data_k%15; $series_vdata$data_k =
24、 $data_v; $stat_arrseries$series_kdata = $series_vdata; /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*10
25、0, 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; /* * 地图统计图 * * para
26、m 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=$vcha,name=$vname,des=$vde
27、s,color=$color_arr$vlevel); return json_encode($stat_arrnew); /* * 获得饼形图数据 * * param array $data * return string */ function getStatData_Pie($data) $stat_arrcharttype = pie; $stat_arrcreditsenabled = false; $stat_arrtitletext = $datatitle; $stat_arrtooltippointFormat = : bpoint.y/b; $stat
28、_arrplotOptionspie = array( allowPointSelect=true, cursor=pointer, dataLabels=array( enabled=$datalabel_show, color=#000000, connectorColor=#000000, format=/b: point.percentage:.1f % ) ); $stat_arrseries0name = $dataname; $stat_arrseries0data = array(); foreach ($dataseries as $k=$v) $sta
29、t_arrseries0data = array($vp_name,$vallnum); /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文件- titleEcharts/title script src=js/mon.min.js/script /head script src=js/jquery.js/s
30、cript ?php include(php/datehelper.php);include(php/statistics.php);? ?php /获得系统年份 $year_arr = getSystemYearArr(); /获得系统月份 $month_arr = getSystemMonthArr(); /存储参数 $search_arr = $_REQUEST; $search_arr =dealwithSearchTime($search_arr); /获得本月的周时间段 $week_arr = getMonthWeekArr($search_arrweekcurrent_year,
31、$search_arrweekcurrent_month); /天数 if(!isset($_REQUESTsearch_time) $_REQUESTsearch_time = date(Y-m-d, time()-86400); $search_time = $_REQUESTsearch_time;/搜索的时间 /周 if(!isset($_REQUESTsearch_time_year) $_REQUESTsearch_time_year = date(Y, time(); if(!isset($_REQUESTsearch_time_month) $_REQUESTsearch_ti
32、me_month = date(m, time(); if(!isset($_REQUESTsearch_time_week) $_REQUESTsearch_time_week = implode(|, getWeek_SdateAndEdate(time(); $current_year = $_REQUESTsearch_time_year; $current_month = $_REQUESTsearch_time_month; $current_week = $_REQUESTsearch_time_week; ? style #search_typefloat:left #sear
33、chtype_dayfloat:left #searchtype_weekfloat:left #searchtype_monthfloat:left /style body select name=search_type id=search_type option value=day 根据天统计/option option value=week 根据周统计/option option value=month根据月统计/option /select div class=w140 id=searchtype_day div class=input-group date id=datetimepi
34、cker1 input id=stime class=form-control type=text value=?php echo $search_time;? name=search_time span class=input-group-addonspan class=glyphicon glyphicon-calendar/span/span /div /div div id=searchtype_week style=display:none; select name=search_time_year id=searchweek_year ?php foreach ($year_arr
35、 as $k=$v)? option value=?php echo $k;? ?php echo $current_year = $k?selected:;?php echo $v; ?/option ?php ? /select select name=search_time_month id=searchweek_mouth ?php foreach ($month_arr as $k=$v)? option value=?php echo $k;? ?php echo $current_month = $k?selected:;?php echo $v; ?/option ?php ?
36、 /select select name=search_time_week id=searchweek_week ?php foreach ($week_arr as $k=$v)? option value=?php echo $vkey;? ?php echo $current_week = $vkey?selected:;? ?php echo $vval; ?/option ?php ? /select /div div id=searchtype_month style=display:none; select name=search_time_year class=querySel
37、ect ?php foreach ($year_arr as $k=$v)? option value=?php echo $k;? ?php echo $current_year = $k?selected:;? ?php echo $v; ?/option ?php ? /select select name=search_time_month class=querySelect ?php foreach ($month_arr as $k=$v)? option value=?php echo $k;? ?php echo $current_month = $k?selected:;?p
38、hp echo $v; ?/option ?php ? /select /div div id=line_chart style=width:600px;height:400px;/div ?php $thearray=array(11,11,15,13,12,13,10);? script type=text/javascript / 基于预备好的dom,初始化echarts实例 var mylineChart=echarts.init(document.getElementById(line_chart); option1 = title: text: 将来一周气温改变, subtext:
39、 纯属虚构 , tooltip: trigger: axis , legend: data:最高气温,最低气温 , toolbox: show: true, feature: dataZoom: , / dataView: readOnly: false, magicType: type: line, bar, restore: , saveAsImage: , xAxis: type: category, boundaryGap: false, data: 周一,周二,周三,周四,周五,周六,周日 , yAxis: type: value, axisLabel: formatter: val
40、ue C , series: name:最高气温, type:line, data:?php echo(json_encode($thearray); ?, markPoint: data: type: max, name: 最大值, type: min, name: 最小值 , markLine: data: type: average, name: 平均值 , name:最低气温, type:line, data:1, 4, 2, 5, 3, 2, 0, markPoint: data: name: 周最低, value: -2, xAxis: 1, yAxis: -1.5 , markL
41、ine: data: type: average, name: 平均值 ; / 用法刚指定的配置项和数据显示图表。 mylineChart.setOption(option1); /script script /展现搜索时间框 function show_searchtime() s_type = $(#search_type).val(); $(id=searchtype_).hide(); $(#searchtype_+s_type).show(); $(function() show_searchtime(); $(#search_type).change(function() show
42、_searchtime(); ); /更新周数组 $(name=search_time_month).change(function() var year = $(name=search_time_year).val(); var month = $(name=search_time_month).val(); $(name=search_time_week).empty(); $.getJSON(php/ajax.php,y:year,m:month,function(data) if(data != null) for(var i = 0; i data.length; i+) $(nam
43、e=search_time_week).append(option value=+datai.key+datai.val+/option); ); ); /更新年数组 $(name=search_time_year).change(function() var year = $(name=search_time_year).val(); $(name=search_time_week).empty(); $(#searchweek_mouth option:first).prop(selected, selected); $.getJSON(php/ajax.php,y:year,function(data) if(data != null) for(var i = 0; i data.length; i+) $(name=search_time_week).append(option value=+datai.key+datai.val+/option); ); ); ); /script /body /html 5.time_deal.p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖北恩施市福牛物业有限公司招聘恩施市金满园农业发展有限公司工作人员3人笔试模拟试题及答案解析
- 谢师宴致辞(15篇)
- 血透护士工作总结
- 2025浙江网上年货消费云享年货惠聚浙里主题活动策划方案
- 道法七下说课
- 人教宁夏 九年级 下册 语文 第二单元《 单元写作 审题立意》习题课 课件
- 网络信息安全技术课件 第12章 常见的网络攻防技术
- 人教陕西 九年级 下册 语文 第六单元《 出师表》习题课课件
- 运动会前安全教育班会
- 三年级数学北师大版上册第六单元《6.1蚂蚁做操》教学设计教案
- 校园消费进行时青春权益不掉队-3·15消费者权益日教育宣传主题班会课件
- 英语-安徽省滁州市2025年(届)高三下学期第一次教学质量监测(滁州一模)试题和答案
- 2025年海南保亭县事业单位招聘综合历年高频重点模拟试卷提升(共500题附带答案详解)
- 污水处理设施运维服务投标方案(技术标)
- 2024年苏州高博软件技术职业学院高职单招职业适应性测试历年参考题库含答案解析
- 通用电子嘉宾礼薄
- ArcGIS应用基础培训(共98张)
- 南京鼓楼区部编版五年级语文下册第二单元教材分析
- 主要设备开箱检验记录表
- 武术健身操教案《旭日东升》(共18页)
- 校企合作就业协议书标准版范本
评论
0/150
提交评论