1.数据库表:
a)用户表
b)组表
c)巡查记录表
2.数据类型
1.前台生成:
/**
* 创建前十年
* */
function getYears(){
var date = new Date();
var noewYear = date.getFullYear();
var mm = [];
for(var i = 0 ; i < 10; i++){
var newyear = noewYear - i;
var mp = {
“id”:i,
“text”:newyear
}
mm.push(mp);
}
(“#select_year”).combobox({
data:mm,
onSelect:function(record){
year_bool = true;
group_bool = false;
s_year = record.text;
if(s_groupid==-1){
getYearData(s_year);
thisyear = s_year
}else{(‘#group’).combobox(‘setValue’,’-1’);
getYearData(s_year);
thisyear = s_year
}
},
valueField:'id',
textField:'text'
});
}
2.easyui的下拉:
$(‘#group’).combobox({
url:’URL/group’,
valueField:’id’,
textField:’text’,
});
$(“#group”).combobox({
onSelect: function () {
group_bool = true;
year_bool = false;
s_groupid = $('#group').combobox('getValue');
if(s_groupid==-1){
getYearData(s_year);
}else{
$.getJSON("__URL__/getDataFromYear_group",{"groupid":s_groupid,"year":s_year},function(result){
var res = eval(result);
var sum=0;
for(var i=1;i<=res.length;i++){
sum+=res[i-1];
}
$('#group_number').text("该组本年巡查频数"+sum+"次");
var data_number = res;
var M_json = ["12","11","10","09","08","07","06","05","04","03","02","01"];
var option = createFutureOptionAll(M_json,data_number.reverse(data_number));
leixin.setOption(option);
})
}
}
});
3.月份数据类型:数组
var M_json = [“12”,”11”,”10”,”09”,”08”,”07”,”06”,”05”,”04”,”03”,”02”,”01”];
4.每个月对于的数量:
数组类型:后台处理过在返回前台。
5.点击柱状图获取对于的name也就是数组月。后台查询到数据返回
6.向日历中插入某天的数量。
1.遍历tb中的数字。
2.返回数组中数据如1号有很多,需遍历后去重,也就是1号。
3.去重的数量,1号对应去重了2次,那么对应的1号就有两条记录。
4.查找对应日历中有1号的内容,向里面添加
“+kv+”
index:
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="author" content="hetu">
<include file="Common:head" />
<include file="Common:formvalidator" />
<link rel="stylesheet" type="text/css" href="__STATIC__/data/stylesheets/stylesheet.css" media="screen">
<link rel="stylesheet" type="text/css" href="__STATIC__/data/stylesheets/print.css" media="print">
<link rel="stylesheet" type="text/css" href="__STATIC__/data/stylesheets/simple-calendar.css">
<title><{:C('SYSTEM_NAME')}>title>
<style>
*{ margin:0; padding:0;}
.choosecal{ width:96%; margin:3% auto; overflow:hidden;}
.ccaltop{ width:100%; border-radius:5px; }
.caltline1,.caltline2{ width:94%; background-color:#F90; overflow:hidden; padding:2% 3%;}
.caltline1 p,.caltline2 p{ float:left; width:10%; font-weight:700; text-align:right;}
.caltline1 .bookdate{ width:90%; text-align:left;}
.caltline2{ background-color:#FFF; display:black;}
.caltline2 p{ width:20%;}
.caltline2 .datetext{ width:35%; border:1px solid #000;
background-color:#FFF; font-weight:700;}
.inputdate{ color:#F60;}
.calender{ width:100%; margin-top:3%; overflow:hidden; display:none;}
.selectmouth{ background-color:#3398db; width:94%;
overflow:hidden;padding:2% 3%;border-radius:5px 5px 0 0;}
.selectmouth p{ float:left; width:33%; color:#FFF;
font-weight:700; cursor:pointer;}
.selectmouth .selectdate{ width:100%; background: none;
border:none;box-sizing: border-box;
border:none; color:#FFF; font-weight:700; text-align:center;}
.data_table{ width:100%;border:1px solid #cccccc;
border-collapse:collapse; }
.data_table thead{ background-color:#333;}
.data_table thead td{ color:#FFF; text-align:center; border:1px solid #333;border-collapse:collapse; padding:1% 0;
}
.data_table tbody td{border:1px solid #cccccc;
border-collapse:collapse;
height: 50px;
font-weight: 500;
position: relative;
line-height: 50px;
text-align:center;color:#0C6;padding:1% 0;
}
.data_table tbody td.orderdate{ color:#000; }
.data_table tbody td.tdselect{ color:#fff;background-color:#999;}
style>
<style>
#calendar{
/*width: 50%*/
}
#content-wrapper{
margin: 0px;
}
.clearfix{
/*margin-bottom: 50px !important;*/
}
.sc-calendar{
width: 100%;
height: 508px;
}
ol,ul,li{
margin: 0px;
padding: 0px;
list-style: none;
}
.data-ul{
}
.data-ul span{
margin-right: 10px;
}
.data-ul li{
overflow: hidden;
padding: 10px;
background: #c1c0c0;
color: #000;
box-sizing: content-box;
box-sizing: border-box;
border-bottom: 1px solid #f1ebe4;
}
.ico-i{
width: 20px;
height: 20px;
display: block;
float: left;
border:1px solid #fff;
background: #ff4201;
}
style>
<script type="text/javascript" src="__STATIC__/Admin/js/myjs/jquery.iframeWin.js">script>
<script type="text/javascript" src="__STATIC__/Admin/js/myjs/myCookies.js">script>
<script type="text/javascript" src="__STATIC__/js/echarts.min.js">script>
<script type="text/javascript" src="__STATIC__/data/esl.js">script>
head>
<body >
<div class="tyb-data" id="tyb-data" >
<div id="content-wrapper" style="padding: 10px;">
<div class="inner clearfix" style="width: 100%">
<div style="width: 60%;float: left; text-align: center " id="tyb-shuju">
请选择年:<select id="select_year" name="select_year" style="height: 30px;width: 200px;">select>
组织名称:<select id="group" name="type" style="height: 30px;width: 200px;">select>
<span id="group_number" style="color: #ff0000">span>
<div id="main" style="height:510px;">div>
div>
<div class="calender" style="display: block; width: 60%;width: 40%;float: left;margin: 0px;padding:0;">
<div class="selectmouth">
<p style="text-align:right; display: none;" class="lastmonth"><p>
<p><input type="text" class="selectdate" value="2017年2月" readonly=readonly />p>
<p class="nextmonth" style="display: none;">>p>
div>
<table id="data_table" class="data_table" cellspacing="0px">
<thead>
<tr>
<td>日td><td>一td><td>二td><td>三td><td>四td><td>五td><td>六td>
tr>
thead>
<tbody>
<tr>
<td>1td><td>td><td>td><td>td><td>td><td>td><td>td>
tr>
<tr>
<td>1td><td>td><td>td><td>td><td>td><td>td><td>td>
tr>
<tr>
<td>1td><td>td><td>td><td>td><td>td><td>td><td>td>
tr>
<tr>
<td>1td><td>td><td>td><td>td><td>td><td>td><td>td>
tr>
<tr>
<td>1td><td>td><td>td><td>td><td>td><td>td><td>td>
tr>
<tr>
<td>1td><td>td><td>td><td>td><td>td><td>td><td>td>
tr>
tbody>
table>
div>
div>
div>
div>
<script type="text/javascript" src="__STATIC__/data/javascripts/simple-calendar.js">script>
<script type="text/javascript">
Array.prototype.unique = function(){
this.sort(); //先排序
var res = [this[0]];
for(var i = 1; i < this.length; i++){
if(this[i] !== res[res.length - 1]){
res.push(this[i]);
}
}
return res;
}
var leixin = null;
var s_year = (new Date()).getFullYear();
var s_month = (new Date()).getMonth()+1;
var s_groupid= -1;
var thisyear=null;
var thismonth=null;
var mydate=new Date();
thisyear=s_year;
thismonth=s_month;
var thisday=mydate.getDate();
var mydate1=new Date();
var thisyear1=mydate1.getFullYear();
var thismonth1=mydate1.getMonth()+1;
var thisday1=mydate1.getDate();
var selectday=thisday;
//标记日期
var indate=thisday;
//入住日期
var inmonth=thismonth;
//入住月份
var outdate=thisday+1;
//退房日期
var outmonth=thismonth;
//退房月份
var datetxt="datetoday";
var datefirst;
var datesecond;
var year_bool = false;
var group_bool = false;
/**
* 创建前十年
* */
function getYears(){
var date = new Date();
var noewYear = date.getFullYear();
var mm = [];
for(var i = 0 ; i < 10; i++){
var newyear = noewYear - i;
var mp = {
"id":i,
"text":newyear
}
mm.push(mp);
}
$("#select_year").combobox({
data:mm,
onSelect:function(record){
year_bool = true;
group_bool = false;
s_year = record.text;
if(s_groupid==-1){
getYearData(s_year);
thisyear = s_year
}else{
$('#group').combobox('setValue','-1');
getYearData(s_year);
thisyear = s_year
}
},
valueField:'id',
textField:'text'
});
}
/**
* 创建OPtion
* @param value
* @returns {*}
*/
function createSOption(value) {
var option = document.createElement("option");
option.value = value;
option.innerHTML = value;
return option;
}
function getYearData(year){
$.getJSON("__URL__/getDataFromYear_data",{"year":year},function(result){
var res = eval(result);
var sum=0;
for(var i=1;i<=res.length;i++){
sum+=res[i-1];
}
$('#group_number').text("总巡查频数"+sum+"次");
var data_number = res;
var M_json = ["12","11","10","09","08","07","06","05","04","03","02","01"];
var option = createFutureOptionAll(M_json,data_number);
leixin.setOption(option);
})
}
function setTdValue(k,kv){
$("#data_table tbody td").each(function(){
var tb_v= this.innerHTML;
if(k==tb_v){
this.innerHTML = tb_v+""+kv+"";
}
})
}
function getCount(arr,str){
var str_count = 0;
for(var i = 0; i if (arr[i] == str) {
str_count = str_count + 1;
}
}
return str_count;
}
function string2date(str){
return new Date(Date.parse(str.replace(/-/g, "/")));
}
function convertDateFromString(dateString) {
if (dateString) {
var arr1 = dateString.split(" ");
var sdate = arr1[0].split('-');
var date = new Date(sdate[0], sdate[1]-1, sdate[2]);
return date;
}
}
$(function(){
year_bool = true;
group_bool = false;
initeMyData();
leixin = echarts.init(document.getElementById('main'));
//初始化年
getYears();
//获取宽度
var width = parseInt($('#tyb-shuju').get(0).offsetWidth);
//将宽度赋值给视图
document.getElementById('main').style.width = width;
$('#group').combobox({
url:'__URL__/group',
valueField:'id',
textField:'text',
});
$("#group").combobox({
onSelect: function () {
group_bool = true;
year_bool = false;
s_groupid = $('#group').combobox('getValue');
if(s_groupid==-1){
getYearData(s_year);
}else{
$.getJSON("__URL__/getDataFromYear_group",{"groupid":s_groupid,"year":s_year},function(result){
var res = eval(result);
var sum=0;
for(var i=1;i<=res.length;i++){
sum+=res[i-1];
}
$('#group_number').text("该组本年巡查频数"+sum+"次");
var data_number = res;
var M_json = ["12","11","10","09","08","07","06","05","04","03","02","01"];
var option = createFutureOptionAll(M_json,data_number.reverse(data_number));
leixin.setOption(option);
})
}
}
});
getYearData((new Date()).getFullYear());
clickRightCaladar();
$('#group').combobox("setValue","-1");
leixin.on('click', function (params) {
var month = params.name;
s_month = parseInt(month);
jQuery(".selectdate").val(s_year+"年"+s_month+"月");
thisyear = s_year;
thismonth = s_month;
var groupid = $('#group').combobox('getValue');
initdata();
if(year_bool){
$.getJSON("__URL__/getDataFromYearAndMonth",{"year":s_year,"month":month,"groupid":groupid},function(result){
var res = eval(result);
var date_all = [];
for(var i =0 ;i < res.length; i ++){
var row_date = convertDateFromString(res[i]["uploaddate"]);
date_all.push(row_date.getDate());
}
var uniq_arr = date_all.unique();
var last_arr = [];
for(var j = 0 ; j < uniq_arr.length; j++){
var mp = {
"date":uniq_arr[j],
"num":getCount(date_all,uniq_arr[j])
}
last_arr.push(mp);
}
for(var x = 0 ;x< last_arr.length; x++ ){
var r = last_arr[x];
setTdValue(r['date'], r["num"]);
}
})
}
if(group_bool){
$.getJSON("__URL__/getDataFromYearAndMonth",{"year":s_year,"month":month,"groupid":groupid},function(result){
var res = eval(result);
var date_all = [];
for(var i =0 ;i < res.length; i ++){
var row_date = convertDateFromString(res[i]["uploaddate"]);
date_all.push(row_date.getDate());
}
var uniq_arr = date_all.unique();
var last_arr = [];
for(var j = 0 ; j < uniq_arr.length; j++){
var mp = {
"date":uniq_arr[j],
"num":getCount(date_all,uniq_arr[j])
}
last_arr.push(mp);
}
for(var x = 0 ;x< last_arr.length; x++ ){
var r = last_arr[x];
setTdValue(r['date'], r["num"]);
}
})
}
});
//设置点击事件
});
function initeMyData() {
jQuery(".selectdate").val(s_year + "年" + s_month + "月");
s_month = parseInt(s_month);
s_month = s_month < 10 ? "0" + s_month : s_month;
thisyear = s_year;
thismonth = s_month;
initdata();
$.getJSON("__URL__/getDataFromYearAndMonth", {
"year": s_year,
"month": s_month,
"groupid": "-1"
}, function (result) {
var res = eval(result);
var date_all = [];
for (var i = 0; i < res.length; i++) {
var row_date = convertDateFromString(res[i]["uploaddate"]);
date_all.push(row_date.getDate());
}
var uniq_arr = date_all.unique();
var last_arr = [];
for (var j = 0; j < uniq_arr.length; j++) {
var mp = {
"date": uniq_arr[j],
"num": getCount(date_all, uniq_arr[j])
}
last_arr.push(mp);
}
for (var x = 0; x < last_arr.length; x++) {
var r = last_arr[x];
setTdValue(r['date'], r["num"]);
}
})
}
function orderabledate(thisyear,thismonth,thisday){
//能预订的日期
if(thisyear".data_table tbody td" ).addClass("orderdate");
jQuery(".data_table tbody td").removeClass("usedate");
}else if(thisyear==thisyear1){
if(thismonth".data_table tbody td").addClass("orderdate");
jQuery(".data_table tbody td").removeClass("usedate");
}else if(thismonth==thismonth1){
for(var j=0;j<6;j++){
for(var i=0;i<7;i++){
var tdhtml=jQuery(".data_table tbody tr").eq(j).find("td").eq(i).html();
if(tdhtml".data_table tbody tr").eq(j).find("td").eq(i).addClass("orderdate");
jQuery(".data_table tbody tr").eq(j).find("td").eq(i).removeClass("usedate");
}else{
jQuery(".data_table tbody tr").eq(j).find("td").eq(i).removeClass("orderdate");
}
}
}
}else{
jQuery(".data_table tbody td").removeClass("orderdate");
}
}else{
jQuery(".data_table tbody td").removeClass("orderdate");
}
}
function markdate(thisyear,thismonth,thisday){
//标记日期
var datetxt=thisyear+"年"+thismonth+"月";
var thisdatetxt=thisyear1+"年"+thismonth1+"月";
jQuery(".data_table td").removeClass("tdselect");
if(datetxt==thisdatetxt){
for(var j=0;j<6;j++){
for(var i=0;i<7;i++){
var tdhtml=jQuery(".data_table tbody tr").eq(j).find("td").eq(i).html();
if(tdhtml==thisday){
jQuery(".data_table tbody tr").eq(j).find("td").eq(i).addClass("tdselect");
}
}
}
}
}
function initdata(){
//日期初始填充
var tdheight=jQuery(".data_table tbody tr").eq(0).find("td").height();
jQuery(".data_table tbody td").css("height",tdheight);
jQuery(".selectdate").val(thisyear+"年"+thismonth+"月");
var days=getdaysinonemonth(thisyear,thismonth);
var weekday=getfirstday(thisyear,thismonth);
setcalender(days,weekday);
markdate(thisyear,thismonth,selectday);
orderabledate(thisyear,thismonth,thisday);
}
function getdaysinonemonth(year,month){
//算某个月的总天数
month=parseInt(month,10);
var d=new Date(year,month,0);
return d.getDate();
}
function getfirstday(year,month){
//算某个月的第一天是星期几
month=month-1;
var d=new Date(year,month,1);
return d.getDay();
}
function setcalender(days,weekday){
//往日历中填入日期
var a=1;
for(var j=0;j<6;j++){
for(var i=0;i<7;i++){
if(j==0&&i".data_table tbody tr").eq(0).find("td").eq(i).html("");
jQuery(".data_table tbody tr").eq(0).find("td").eq(i).removeClass("usedate");
}else{
if(a<=days){
jQuery(".data_table tbody tr").eq(j).find("td").eq(i).html(a);
jQuery(".data_table tbody tr").eq(j).find("td").eq(i).addClass("usedate");
a++;
}else{
jQuery(".data_table tbody tr").eq(j).find("td").eq(i).html("");
jQuery(".data_table tbody tr").eq(j).find("td").eq(i).removeClass("usedate");
a=days+1;
}
}
}
}
}
function errorreset(){
//日期报错后,数据重置
thisyear=thisyear1;
thismonth=thismonth1;
thisday=thisday1;
selectday=thisday1;
indate=thisday1;
inmonth=thismonth1;
outdate=thisday1+1;
outmonth=thismonth1;
initdata();
}
function clickRightCaladar(){
initdata();
jQuery(".datetoday").val(thisyear+"-"+thismonth+"-"+thisday);
jQuery(".dateendday").val(thisyear+"-"+thismonth+"-"+(thisday+1));
jQuery(".data_table tbody td").live("click",function(){ //点击日期的效果
var thishtml=parseInt(jQuery(this).html());
jQuery(".data_table td").removeClass("tdselect");
jQuery(this).addClass("tdselect");
selectday=thishtml;
if(datetxt=="datetoday"){
jQuery(".datetoday").val(thisyear+"-"+thismonth+"-"+selectday);
indate=selectday;
inmonth=thismonth;
}else{
jQuery(".dateendday").val(thisyear+"-"+thismonth+"-"+selectday);
outdate=selectday;
outmonth=thismonth;
if(outmonth"日期填写错误");
jQuery(".datetoday").val(thisyear1+"-"+thismonth1+"-"+thisday1);
jQuery(".dateendday").val(thisyear1+"-"+thismonth1+"-"+(thisday1+1));
errorreset();
}else if(outmonth==inmonth){
if(outdate<=indate){
alert("日期填写错误");
jQuery(".datetoday").val(thisyear1+"-"+thismonth1+"-"+thisday1);
jQuery(".dateendday").val(thisyear1+"-"+thismonth1+"-"+(thisday1+1));
errorreset();
}
}
}
});
jQuery(".datetoday").click(function(){
//选择入住日期
datetxt="datetoday";
jQuery(".datetext").removeClass("inputdate");
jQuery(this).addClass("inputdate");
});
jQuery(".lastmonth").click(function(){
//上一个月
thismonth--;
if(thismonth==0){
thismonth=12;
thisyear--;
}
initdata();
});
jQuery(".nextmonth").click(function(){
//上一个月
thismonth++;
if(thismonth==13){
thismonth=1;
thisyear++;
}
initdata();
});
jQuery(".btsure").click(function(){
//确定日期
var start = new Date($(".datetoday").val());
var end = new Date($(".dateendday").val());
var diff = parseInt((end - start) / (1000*3600*24));
jQuery(".bookdate").html(inmonth+"月"+indate+"日至"+outmonth+"月"+outdate+"日("+diff+")晚")
});
jQuery(".caltline1").toggle(
function(){
//jQuery(".caltline2").slideDown(500);
jQuery(".calender").fadeIn(500);
errorreset();
jQuery(".caltline1").find("img").attr("src","images/iconpointup.png");
},
function(){
//jQuery(".caltline2").slideUp(500);
jQuery(".calender").fadeOut(500);
jQuery(".caltline1").find("img").attr("src","images/iconpoint.png");
}
);
}
function createFutureOptionAll(M_json,data_number){
// 基于准备好的dom,初始化echarts实例
var option = {
tooltip : {
trigger: 'axis',
axisPointer : { // 坐标轴指示器,坐标轴触发有效
type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
// color:['#f8b22f','#eb3524','#88d431','#00f'],
color:['#3398db'],
legend: {
data: ['']
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'value'
},
yAxis: {
type: 'category',
data: M_json,
},
series: [
{
name: '日常巡查频次统计',
type: 'bar',
stack: '总量',
label: {
normal: {
show: true,
position: 'insideRight'
}
},
data: data_number
},
]
};
return option;
}
var myCalendar = new SimpleCalendar('#calendar');
script>
body>
html>
控制器
/**
* Created by PhpStorm.
* User: insist
* Date: 2017/3/30
* Time: 10:36
*/
namespace Admin\Controller;
class FrequencystatisticsController extends CommonController{
/**
* 根据行政区名称返回对应组织的任务信息
* @param $regionName 组织中的行政区名称
*/
public function statistics(){
// $model = D("group")->distinct(true)->field('id,name')->select();
// $root = array();
// foreach ($model as $key => $value) {
// $item = array();
// $item["id"] = $value["id"];
// $item["text"] = $value["name"];
// $root[] = $item;
// }
$this->display("index");
}
//查询对应的分组
public function guoup(){
$tab_M = M("clue_address");
$rel = $tab_M->select();
dump($rel);
// $this->display("index");
}
public function group(){
$model = D("group")->distinct(true)->field('id,name')->select();
$root = array();
$item["id"] = "-1";
$item["text"] = "全部";
$root[] = $item;
foreach ($model as $key => $value) {
$item = array();
$item["id"] = $value["id"];
$item["text"] = $value["name"];
$root[] = $item;
}
echo json_encode($root);
}
/*
* 查询类型映射对应信息
*/
public function comboTextPatrol()
{
$model = D($this->model_cluepatrol)->distinct(true)->field('type')->select();
$root = array();
foreach ($model as $key => $value) {
$item = array();
$item["id"] = $value["type"];
$item["text"] = $value["type"];
$root[] = $item;
}
echo json_encode($root);
}
public function s_All(){
$news=M('clue_address');
$time["uploaddate"] = array("like","%".date("Y")."%");
$newsInfo = $news->where($time)->field('uploaddate')->order("uploaddate")->select();
$year = array();
$map = array();
$arr = array();
$month = array();
$ymonth = array();
for( $i = 0 ; $i < count($newsInfo) ; $i++ ){
array_push($year,date("Y",strtotime($newsInfo[$i]["uploaddate"])));//获取年份
array_push($month,date("m",strtotime($newsInfo[$i]["uploaddate"])));//获取月份
array_push($ymonth,date("Y-m",strtotime($newsInfo[$i]["uploaddate"])));//获取月份
}
$ymonth_2 = array_unique($ymonth);
$ym_number = array();
dump($ymonth_2);
foreach($ymonth_2 as $k){
// dump($k);
// $nam = 2 ;
// $ym_where["context"] = array("eq",$nam);
// $ym_tb = M("clue_address")->where($ym_where)->select();
// dump($ym_tb);
// array_push($ym_number,count($ym_tb));
}
$nam = 03 ;
$ym_where["uploaddate"] = array("like","%".$nam."%");
$ym_tb = M("clue_address")->where($ym_where)->select();
dump($ym_tb);
// $ym = "2017";
// $ym_x["uploaddate"] = array("like",$ym."%");
// $ym_tb = M("clue_address")->where($ym_x)->select();
// dump($ym_tb);
$arr = array_unique($year);
$ynumber = array();
foreach($arr as $k){
$datetime_yaer["uploaddate"] = array("like","%".$k."%");
$y_number = $news->where($datetime_yaer)->field('uploaddate')->select();
array_push($ynumber,count($y_number));
$y_number = $news->where($datetime_yaer)->field('uploaddate')->select();
}
// $arr["month"] = array_unique($month);
$map["year"] =$arr;
$map["ynumber"] = $ynumber;
// dump($map["ynumber"]);
// echo json_encode($map);
}
function monthList($start,$end){
if(!is_numeric($start)||!is_numeric($end)||($end<=$start)) return '';
$start=date('Y-m',$start);
$end=date('Y-m',$end);
//转为时间戳
$start=strtotime($start.'-01');
$end=strtotime($end.'-01');
$i=0;//http://www.phpernote.com/php-function/224.html
$d=array();
while($start<=$end){
//这里累加每个月的的总秒数 计算公式:上一月1号的时间戳秒数减去当前月的时间戳秒数
$d[$i]=trim(date('Y-m',$start),' ');
$start+=strtotime('+1 month',$start)-$start;
$i++;
}
return $d;
}
/**
* 根据年来统计每个月的个数
*/
function getDataFromYear(){
$year = $_GET['uploaddate'];
$where['uploaddate'] = array("like",'%'.$year."%");
$yeardata = M('clue_address')->where($where)->select();
$lastdata = array();
//一月份 2017-01
$countone = 0;
$counttwo = 0;
$countthree = 0;
$countfour = 0;
$countfive = 0;
$countsix = 0;
$countseven = 0;
$counteight = 0;
$countnine = 0;
$countten = 0;
$counteleven = 0;
$counttwelve = 0;
foreach($yeardata as $row){
$uploaddate = $row['uploaddate'];
if(strrpos($uploaddate,$year.'-01')>-1){
$countone = $countone + 1;
}
if(strrpos($uploaddate,$year.'-02')>-1){
$counttwo = $counttwo + 1;
}
if(strrpos($uploaddate,$year.'-03')>-1){
$countthree = $countthree + 1;
}
if(strrpos($uploaddate,$year.'-04')>-1){
$countfour = $countfour + 1;
}
if(strrpos($uploaddate,$year.'-05')>-1){
$countfive = $countfive + 1;
}
if(strrpos($uploaddate,$year.'-06')>-1){
$countsix = $countsix + 1;
}
if(strrpos($uploaddate,$year.'-07')>-1){
$countseven = $countseven + 1;
}
if(strrpos($uploaddate,$year.'-08')>-1){
$counteight = $counteight + 1;
}
if(strrpos($uploaddate,$year.'-09')>-1){
$countnine = $countnine + 1;
}
if(strrpos($uploaddate,$year.'-10')>-1){
$countten = $countten + 1;
}
if(strrpos($uploaddate,$year.'-11')>-1){
$counteleven = $counteleven + 1;
}
if(strrpos($uploaddate,$year.'-12')>-1){
$counttwelve = $counttwelve + 1;
}
}
array_push($lastdata,array("one"=>$countone));
array_push($lastdata,array("two"=>$counttwo));
array_push($lastdata,array("three"=>$countthree));
array_push($lastdata,array("four"=>$countfour));
array_push($lastdata,array("five"=>$countfive));
array_push($lastdata,array("six"=>$countsix));
array_push($lastdata,array("seven"=>$countseven));
array_push($lastdata,array("eight"=>$counteight));
array_push($lastdata,array("nine"=>$countnine));
array_push($lastdata,array("ten"=>$countten));
array_push($lastdata,array("eleven"=>$counteleven));
array_push($lastdata,array("twelve"=>$counttwelve));
echo json_encode($lastdata);
}
/**
* 根据年来统计每个月的个数
*/
function getDataFromYear_data(){
$year = I("get.year");
$where['uploaddate'] = array("like",'%'.$year."%");
$yeardata = M('clue_address')->where($where)->select();
$lastdata = array();
//一月份 2017-01
$countone = 0;
$counttwo = 0;
$countthree = 0;
$countfour = 0;
$countfive = 0;
$countsix = 0;
$countseven = 0;
$counteight = 0;
$countnine = 0;
$countten = 0;
$counteleven = 0;
$counttwelve = 0;
foreach($yeardata as $row){
$uploaddate = $row['uploaddate'];
if(strrpos($uploaddate,$year.'-01')>-1){
$countone = $countone + 1;
}
if(strrpos($uploaddate,$year.'-02')>-1){
$counttwo = $counttwo + 1;
}
if(strrpos($uploaddate,$year.'-03')>-1){
$countthree = $countthree + 1;
}
if(strrpos($uploaddate,$year.'-04')>-1){
$countfour = $countfour + 1;
}
if(strrpos($uploaddate,$year.'-05')>-1){
$countfive = $countfive + 1;
}
if(strrpos($uploaddate,$year.'-06')>-1){
$countsix = $countsix + 1;
}
if(strrpos($uploaddate,$year.'-07')>-1){
$countseven = $countseven + 1;
}
if(strrpos($uploaddate,$year.'-08')>-1){
$counteight = $counteight + 1;
}
if(strrpos($uploaddate,$year.'-09')>-1){
$countnine = $countnine + 1;
}
if(strrpos($uploaddate,$year.'-10')>-1){
$countten = $countten + 1;
}
if(strrpos($uploaddate,$year.'-11')>-1){
$counteleven = $counteleven + 1;
}
if(strrpos($uploaddate,$year.'-12')>-1){
$counttwelve = $counttwelve + 1;
}
}
array_push($lastdata,$countone);
array_push($lastdata,$counttwo);
array_push($lastdata,$countthree);
array_push($lastdata,$countfour);
array_push($lastdata,$countfive);
array_push($lastdata,$countsix);
array_push($lastdata,$countseven);
array_push($lastdata,$counteight);
array_push($lastdata,$countnine);
array_push($lastdata,$countten);
array_push($lastdata,$counteleven);
array_push($lastdata,$counttwelve);
echo json_encode(array_reverse($lastdata));
}
/**
* 根据年和月来查询数据记录,返回某年某月的所有记录
*/
public function getDataFromYearAndMonth()
{
$month = $_GET['month'];
$year = $_GET['year'];
if ($year == "") {
$year = (string)date('Y');
}
$groupid = $_GET['groupid'];
if ($groupid=="-1") {
$where['uploaddate'] = array("like", "%" . $year . "%") ;
$yeardata = M('clue_address')->where($where)->select();
$ldate = array();
foreach ($yeardata as $row) {
$mydate = $row["uploaddate"];
if (strrpos($mydate, $year . "-" . $month) > -1) {
array_push($ldate, $row);
}
}
echo json_encode($ldate);
}else {
$userdata = M("systemuser")->where(array("groupid"=>$groupid))->field("userid")->select();
$userids = array();
foreach($userdata as $user){
array_push($userids,$user['userid']);
}
$useruploaddata = array();
foreach($userids as $userid){
$onedata = $this->getDataByUserid($userid);
foreach($onedata as $row){
array_push($useruploaddata,$row);
}
}
$yeardata = array();
foreach($useruploaddata as $rowdata){
if(strrpos($rowdata['uploaddate'],$year)>-1){
array_push($yeardata,$rowdata);
}
}
$ldate = array();
foreach ($yeardata as $row) {
$mydate = $row["uploaddate"];
if (strrpos($mydate, $year . "-" . $month) > -1) {
array_push($ldate, $row);
}
}
echo json_encode($ldate);
}
}
/**
* 根据用户id获取对应的数据
* @param $userid
* @return mixed
*/
function getDataByUserid($userid){
$data = M("clue_address")->where(array("userId"=>$userid))->select();
return $data;
}
/**
* 根据组来统计每个月的个数
*/
function getDataFromYear_group(){
if(!$_GET['year']){
$user["uploaddate"] = array("like",'%'.date("Y")."%");
$year = date("Y");
}
$groupid["groupid"]= $_GET['groupid'];
$groupid["ismobileuser"] = "true";
$users = M('systemuser')->where($groupid)->field('userid')->select();
$guserids = array();
foreach($users as $user){
array_push($guserids, $user['userid']);
}
$xa_data = array();
foreach($guserids as $userid){
$oneuser = $this->getDataByUserid($userid);
foreach($oneuser as $row){
array_push($xa_data,$row);
}
}
$year = $_GET['year'];
$lastdata = array();
//一月份 2017-01
$countone = 0;
$countone_arr = array();
$counttwo = 0;
$counttwo_arr = array();
$countthree = 0;
$countthree_arr = array();
$countfour = 0;
$countfour_arr = array();
$countfive = 0;
$countfive_arr = array();
$countsix = 0;
$countsix_arr = array();
$countseven = 0;
$countseven_arr = array();
$counteight = 0;
$counteight_arr = array();
$countnine = 0;
$countnine_arr = array();
$countten = 0;
$countten_arr = array();
$counteleven = 0;
$counteleven_arr = array();
$counttwelve = 0;
$counttwelve_arr = array();
foreach($xa_data as $row){
$uploaddate = $row['uploaddate'];
if(strrpos($uploaddate,$year.'-01')>-1){
$countone = $countone + 1;
array_push($countone_arr,$countone);
}
if(strrpos($uploaddate,$year.'-02')>-1){
$counttwo = $counttwo + 1;
array_push($counttwo_arr,$countone);
}
if(strrpos($uploaddate,$year.'-03')>-1){
$countthree = $countthree + 1;
array_push($countthree_arr,$countone);
}
if(strrpos($uploaddate,$year.'-04')>-1){
$countfour = $countfour + 1;
array_push($countfour_arr,$countone);
}
if(strrpos($uploaddate,$year.'-05')>-1){
$countfive = $countfive + 1;
array_push($countfive_arr,$countone);
}
if(strrpos($uploaddate,$year.'-06')>-1){
$countsix = $countsix + 1;
array_push($countsix_arr,$countone);
}
if(strrpos($uploaddate,$year.'-07')>-1){
$countseven = $countseven + 1;
array_push($countseven_arr,$countone);
}
if(strrpos($uploaddate,$year.'-08')>-1){
$counteight = $counteight + 1;
array_push($counteight_arr,$countone);
}
if(strrpos($uploaddate,$year.'-09')>-1){
$countnine = $countnine + 1;
array_push($countnine_arr,$countone);
}
if(strrpos($uploaddate,$year.'-10')>-1){
$countten = $countten + 1;
array_push($countten_arr,$countone);
}
if(strrpos($uploaddate,$year.'-11')>-1){
$counteleven = $counteleven + 1;
array_push($counteleven_arr,$countone);
}
if(strrpos($uploaddate,$year.'-12')>-1){
$counttwelve = $counttwelve + 1;
array_push($counttwelve_arr,$countone);
}
}
array_push($lastdata,$countone);
array_push($lastdata,$counttwo);
array_push($lastdata,$countthree);
array_push($lastdata,$countfour);
array_push($lastdata,$countfive);
array_push($lastdata,$countsix);
array_push($lastdata,$countseven);
array_push($lastdata,$counteight);
array_push($lastdata,$countnine);
array_push($lastdata,$countten);
array_push($lastdata,$counteleven);
array_push($lastdata,$counttwelve);
echo json_encode($lastdata);
}
//获去所选月中的个数
public function getDataFromGroup(){
$groupid["groupid"]= $_GET['groupid'];
// $datetime = $_GET['uploaddate'];
$_GET['uploaddate'] = 2017;
if($_GET['uploaddate'] ){
$user["uploaddate"] = array("like",'%'.$_GET['uploaddate']."%");
}
if(!$_GET['uploaddate']){
$user["uploaddate"] = array("like",'%'.date("Y")."%");
}
$sdata = M('systemuser')->where($groupid)->field('userid')->select();
$user_arr = array();
foreach($sdata as $k=>$v){
array_push($user_arr,$v["userid"]);
}
$number = array();
for($i=0;$i$user_arr );$i++){
$user["userId"] = $user_arr[$i];
$sdata = M('clue_address')->where($user)->select();
array_push($number,count($sdata));
}
dump($number);
}
}