• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    thinkphp5框架前后端分离项目实现分页功能的方法分析

    本文实例讲述了thinkphp5框架前后端分离项目实现分页功能的方法。分享给大家供大家参考,具体如下:

    方法一

    利用tp5提供的paginate方法实现自动分页

    参数

    page第几页,paginate分页方法会自动获取

    size  每页数量

    代码

    /**
    * Notes:消费记录
    * Date: 2019/6/25
    * Time: 15:43
    * @param Request $request
    * @return \think\response\Json
    */
    public function getMyConsumeLog(Request $request)
    {
        global $_W;
        $size = $request->param('size', 6);
        $list = $this->model->getListByMid($_W['user']['id'],$size);
        return json(['data' => $list, 'error' => 0, 'message' => 'success']);
    }
    public function getListByMid($mid,$size = 10){
        $res = $this
          ->alias('c')
          ->field('c.*,b.book_name,b.book_flash,s.section_title')
          ->leftJoin('booksection s','c.chapter_id = s.id')
          ->leftJoin('book b','s.book_id = b.id')
          ->where('c.mid',$mid)
          ->order('c.id desc')
          ->paginate($size);
        return $res;
    }
    
    

    返回数据

    {
        "data": {
            "total": 1,
            "per_page": 1,
            "current_page": 1,
            "last_page": 1,
            "data": [
                {
                    "id": 105,
                    "mid": 55,
                    "book_id": 31,
                    "chapter_id": 46046,
                    "score": 27,
                    "create_time": 1561447448,
                    "book_name": "桃运村支书",
                    "book_flash": "https://cdnxiaoshuo.t.com/FiO6TM0N4kpzKB7tqrDko64ZS4H4",
                    "section_title": "第29章 康庄大道"
                }
            ]
        },
        "error": 0,
        "message": "success"
    }

    方法二

    利用limit方法

    $curr_page = $request->param('page', 1);
        $size = $request->param('size', 6);
    $list = $consume_model->getListByWhere($curr_page, $size, $where);
        $num = $consume_model->getListByWhereCount($where);
        return json(['data' => $list,'num' => $num,'error' => 0, 'message' => 'success']);
    public function getListByWhere($curr_page,$limit = 10,$where = null){
        $res = $this
          ->alias('c')
          ->field('c.*,b.book_name,s.section_title')
          ->leftJoin('booksection s','c.chapter_id = s.id')
          ->leftJoin('book b','s.book_id = b.id')
          ->where($where)
          ->order('c.id desc')
          ->limit($limit*($curr_page - 1),$limit)
          ->select()
          ->toArray();
        return $res;
    }
    public function getListByWhereCount($where = null){
        $count = $this
          ->alias('c')
          ->where($where)
          ->count();
        return $count;
    }
    
    

    返回值

    {
        "data": [
            {
                "id": 2,
                "mid": 4,
                "book_id": 4,
                "chapter_id": 22,
                "score": 30,
                "create_time": 0,
                "book_name": "复仇者联盟I",
                "section_title": "第11章  你是睡"
            },
            {
                "id": 1,
                "mid": 4,
                "book_id": 29,
                "chapter_id": 34,
                "score": 20,
                "create_time": 1598999,
                "book_name": "复仇者联盟II",
                "section_title": "第11章  你是睡"
            }
        ],
        "num": 2,
        "total_coin": 50,
        "error": 0,
        "message": "success"
    }

    更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

    希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • ThinkPHP5.1+Ajax实现的无刷新分页功能示例
    • thinkphp5+layui实现的分页样式示例
    • ThinkPHP5&5.1框架关联模型分页操作示例
    • thinkPHP5框架分页样式类完整示例
    • thinkPHP5框架实现基于ajax的分页功能示例
    • thinkPHP5分页功能实现方法分析
    • ThinkPHP5分页paginate代码实例解析
    上一篇:PHP7 安装event扩展的实现方法
    下一篇:PHP实现数组根据某个字段进行水平合并,横向合并案例分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    thinkphp5框架前后端分离项目实现分页功能的方法分析 thinkphp5,框架,前,后端,分离,