php實現按天數、星期、月份查詢的搜尋方塊,php天數_PHP教程

來源:互聯網
上載者:User

php實現按天數、星期、月份查詢的搜尋方塊,php天數


本文執行個體為大家分享了php實現按天數、星期、月份查詢的搜尋方塊,搜尋時候展示資料的統計圖,主要展示圖形的效果,供大家參考,具體內容如下

1.ajax.php

<?php     $year = $_GET['y'];    if(!isset($_GET['m'])){       $month=1;    }else{         $month = $_GET['m'];    }    $week_arr = getMonthWeekArr($year, $month);    echo json_encode($week_arr);    die;                 /** * 獲得系統某月的周數組,第一周不足的需要補足 *  * @param int $current_year * @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);  //該月的最後一天  $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('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('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;} /** * 獲得系統周數組 *  * @return string[] */function getSystemWeekArr(){  $week_arr = array('1'=>'周一','2'=>'周二','3'=>'周三','4'=>'周四','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 $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);  //該月的最後一天  $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('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

<?php/** * 統計 * * @abstract * * @copyright 格裡西,2016 * * @author liujun * * @version Id:statics v1.0 2016/2/5 */ /** * 獲得折線圖統計圖資料 *  * param $statarr 圖表需要的設定項 * @return string */function getStatData_LineLabels($stat_arr){     //圖表區、圖形區和通用圖表配置選項  $stat_arr['chart']['type'] = 'line';  //圖表序列顏色數組  $stat_arr['colors']?'':$stat_arr['colors'] = array('#058DC7', '#ED561B', '#8bbc21', '#0d233a');  //去除著作權資訊  $stat_arr['credits']['enabled'] = false;  //匯出功能選項  $stat_arr['exporting']['enabled'] = false;  //標題如果為字串則使用預設樣式  is_string($stat_arr['title'])?$stat_arr['title'] = array('text'=>"{$stat_arr['title']}",'x'=>-20):'';  //子標題如果為字串則使用預設樣式  is_string($stat_arr['subtitle'])?$stat_arr['subtitle'] = array('text'=>"{$stat_arr['subtitle']}",'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'])?$stat_arr['title'] = array('text'=>"{$stat_arr['title']}",'x'=>-20):'';  //子標題如果為字串則使用預設樣式  is_string($stat_arr['subtitle'])?$stat_arr['subtitle'] = array('text'=>"{$stat_arr['subtitle']}",'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'])?$stat_arr['title'] = array('text'=>"{$stat_arr['title']}",'x'=>-20):'';  //子標題如果為字串則使用預設樣式  is_string($stat_arr['subtitle'])?$stat_arr['subtitle'] = array('text'=>"{$stat_arr['subtitle']}",'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}: {point.y}';  $stat_arr['plotOptions']['pie'] = array(    'allowPointSelect'=>true,    'cursor'=>'pointer',    'dataLabels'=>array(      'enabled'=>$data['label_show'],      'color'=>'#000000',      'connectorColor'=>'#000000',      'format'=>'{point.name}: {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

Echarts<?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_arr['week']['current_year'],$search_arr['week']['current_month']);      //天數      if(!isset($_REQUEST['search_time'])){        $_REQUEST['search_time'] = date('Y-m-d', time()-86400);      }      $search_time = $_REQUEST['search_time'];//搜尋的時間        //周      if(!isset($_REQUEST['search_time_year'])){        $_REQUEST['search_time_year'] = date('Y', time());      }      if(!isset($_REQUEST['search_time_month'])){        $_REQUEST['search_time_month'] = date('m', time());      }      if(!isset($_REQUEST['search_time_week'])){        $_REQUEST['search_time_week'] = implode('|', getWeek_SdateAndEdate(time()));      }             $current_year = $_REQUEST['search_time_year'];      $current_month = $_REQUEST['search_time_month'];      $current_week = $_REQUEST['search_time_week'];     ?>           按照天統計         按照周統計         按照月統計                                                                     <?php foreach ($year_arr as $k=>$v){?>          ><?php echo $v; ?>          <?php } ?>                          <?php foreach ($month_arr as $k=>$v){?>          ><?php echo $v; ?>          <?php } ?>                          <?php foreach ($week_arr as $k=>$v){?>           ><?php echo $v['val']; ?>          <?php } ?>                                               <?php foreach ($year_arr as $k=>$v){?>           ><?php echo $v; ?>          <?php } ?>                          <?php foreach ($month_arr as $k=>$v){?>          ><?php echo $v; ?>          <?php } ?>                     <?php $thearray=array(11,11,15,13,12,13,10);?>     

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

以上就是本文的全部內容,希望對大家的學習有所協助。

http://www.bkjia.com/PHPjc/1125250.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1125250.htmlTechArticlephp實現按天數、星期、月份查詢的搜尋方塊,php天數 本文執行個體為大家分享了php實現按天數、星期、月份查詢的搜尋方塊,搜尋時候展示資料的統...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.