tp5.1搜索 + 分页2020-10-30

  • 单个Where条件
    public function seach()
    {
        $name = input('name');
        $pageIndex = input('pageIndex', 1 , 'int');
        $pageSize = input('pageSize', 10 , 'int');

        $total = Db::table('papers')->where($where)->count('id');

        $list = Db::name('papers')->where('name','like','%'.$name.'%')->page($pageIndex, $pageSize)->select();

        $isNext = ($total / $pageSize - $pageIndex) <= 0 ? false : true;
        $isPrev = $pageIndex != 1 ? true : false;

        return json([
            'total' => $total,
            'pageIndex' => intval($pageIndex),
            'pageSize' => intval($pageSize),
            'isPrev' => $isPrev,
            'isNext' => $isNext,
            'data' => $list,
        ]);
    }
  • 多个Where条件
    public function seach()
    {
        $name = input('name');
        $platform = input('platform');//平台
        $status = input('status');//开通状态
        $effect = input('effect');//生效时间
        $pageIndex = input('pageIndex', 1,'int');
        $pageSize = input('pageSize', 2,'int');

        //多条件查询
        $where = [
            ['name','like','%'.$name.'%'],
            ['platform','like','%'.$platform.'%'],
            ['status','like','%'.$status.'%'],
            ['effect','like','%'.$effect.'%'],
        ];

        $list = Db::table('seach')->where($where)->page($pageIndex, $pageSize)->select()

        $total = Db::table('seach')->where($where)->count('id');
       
        $isNext = ($total / $pageSize - $pageIndex) <= 0 ? false : true;
        $isPrev = $pageIndex != 1 ? true : false;

        return json([
            'total' => $total,
            'pageIndex' => intval($pageIndex),
            'pageSize' => intval($pageSize),
            'isPrev' => $isPrev,
            'isNext' => $isNext,
            'data' => $list,
        ]);
    }
  • Where条件查询,模糊查询,时间区间查询(今天发现mysql 模糊查询 无法查询到null的值,所以需要加个条件判断)
    public function index()
    {
        $pageIndex = input('pageIndex', 1, 'int');
        $pageSize = input('pageSize', 10, 'int');

        $name = input('username');
        $phone = input('phone');
        $timesend = input('time_send', '');
        $timeend = input('time_end', '');
        $$call_start_time= input('call_start_time', '');
        $$call_end_time= input('call_end_time', '');

        $where = [];
        if (!empty($name)) $where[] = ['username', 'like', '%' . $name . '%'];
        if (!empty($phone)) $where[] = ['phone', 'like', '%' . $phone . '%'];
        if (!empty($timesend) && !empty($timeend)) {
            //时间区间查询 :2021-01-01 22:12:11 - 2021-09-11 22:26:31
//            list($begin, $after) = explode(' - ', $timesend);
            $where[] = ['create_time', 'between', [$timesend, $timeend]];
        }

        if (!empty($call_start_time) && !empty($call_end_time)){
            $where = [
                ['call_start_time', '>=', $call_start_time],
                ['call_end_time', '<=', $call_end_time]
            ];
        }
        //查询数据
        $list = Db::table('user')->where($where)->page($pageIndex, $pageSize)->select();
        //统计数据
        $total = Db::table('user')->where($where)->count('id');

        $isNext = ($total / $pageSize - $pageIndex) <= 0 ? false : true;//下一页
        $isPrev = $pageIndex != 1 ? true : false;//上一页

        return json([
            'total' => $total,
            'pageIndex' => intval($pageIndex),
            'pageSize' => intval($pageSize),
            'isPrev' => $isPrev,
            'isNext' => $isNext,
            'data' => $list,
        ]);
    }
    public function limtPage()
    {
        $page = input('page', 1, 'int');
        $pageSize = input('$pageSize', 10, 'int');
        $offset = ($page - 1) * $pageSize;//计算起始位置
        $total = Db::name()->count();//总页数
        $res = Db::name()->limit($offset, $pageSize)->select();//分页数据
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容