php列表时间的搜索

//今日日期
  $TstartTime = strtotime(date("Y-m-d") . " 00:00:00");
  $TendTime   = strtotime(date("Y-m-d") . " 23:59:59");
//本月日期
  $MstartTime = strtotime(date("Y-m-01") . " 00:00:00");
  $MendTime   = strtotime(date("Y-m-t") . " 23:59:59");
//上月日期
   $LMstartTime = strtotime(date("Y-m-01", strtotime("-1 month")) . " 00:00:00");
   $LMendTime   = strtotime(date("Y-m-t", strtotime("-1 month")) . " 23:59:59");

开始时间和结束时间的搜索,还有日周月年的搜索,总结:
//如果开始时间和结束时间不为空,查找时间为一段时间之内的时间
if(!empty($param['starttime']) && !empty($param['endtime'])){
    $arr = ['between',[$param['starttime'],$param['endtime']]];
    $where['date']= $arr;
}else{
    //搜索条件中的日、周、月、年
    switch ($type){
        case 'day' :
            $timewhere = 'to_days(date)=to_days(now())';
            $costflowgroup = 'hour(date)';
            break;
        case 'week' :
            $timewhere = 'week(date)=week(now())';
            $costflowgroup = 'day(date)';
            break;
        case 'month' :
            $timewhere = 'month(date)=month(now())';
            $costflowgroup = 'day(date)';
            break;
        case 'year' :
            $timewhere = 'year(date)=year(now())';
            $costflowgroup = 'month(date)';
            break;
        default :
            $timewhere = 'to_days(date)=to_days(now())';
            $costflowgroup = 'hour(date)';
            break;
    }
}

tp5获取多少天内,并以时间作为键值

$data['event'] = Db::table('snake_cn_active')
    ->where("DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(add_time)")
    ->group('day(add_time)')
    ->column('count(*)','day(add_time)');

下面为具体的例子:获取30天内的各种统计数据

//获取30天内的数据
    public function getCharData(){
        //1.浏览量数据
        $dvisits = Db::table('snake_visit')
            ->where("DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(time)")
            ->order('time asc')
            ->group('day(time)')
            ->column('count(*)','DATE_FORMAT( time, "%m-%d" )');

        //2.博文量
        $dblog = Db::table('snake_cn_articles')
            ->where("DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(add_time)")
            ->group('day(add_time)')
            ->column('count(*)','DATE_FORMAT( add_time, "%m-%d" )');

        //3.活动量
        $devent = Db::table('snake_cn_active')
            ->where("DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(add_time)")
            ->group('day(add_time)')
            ->column('count(*)','DATE_FORMAT( add_time, "%m-%d" )');

        //4.会员量
        $duser = Db::table('snake_user')
            ->where("DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(add_time)")
            ->group('day(add_time)')
            ->column('count(*)','DATE_FORMAT( add_time, "%m-%d" )');

        //获取日期 X轴数据
        $data['xdata'] = array_keys($dvisits);
        foreach ($data['xdata'] as $_v){
            $visits[] = empty($dvisits[$_v]) ? 0 : $dvisits[$_v];
            $blog[] = empty($dblog[$_v]) ? 0 : $dblog[$_v];
            $event[] = empty($devent[$_v]) ? 0 : $devent[$_v];
            $user[] = empty($duser[$_v]) ? 0 : $duser[$_v];
        }
        $data['visits'] = $visits;
        $data['blog'] = $blog;
        $data['event'] = $event;
        $data['user'] = $user;

        return $data;
//        $this -> success('成功!','',$data);
    }

PHP设置MySQL超时时间:

设置超时,两种方法:

第一种:
在服务器上设置也可以,在当前文件写代码也可以
服务器上找到php安装目录下的php.ini
找到max_execution_time这句,将值改为你想要的时间,或者该为0表示无时间限制


第二种:如果在当前文件写代码
那就在网页最顶端写这条php代码
set_time_limit (0);
括号内的参数是数字,写上你想要的时间,比如100就是100秒
0表示无时间限制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值