ThinkPHP 返回的数据太多了,怎么分页?

ThinkPHP 3.2.3
Bootstrap 3.3.5

后台返回的数据甚至超过了128M,怎么在前端分页显示?

报错:
Allowed memory size of 134217728 bytes exhausted (tried to allocate 14680064 bytes)

阅读 4.2k
4 个回答

ThinkPHP有自带的分页,你可以参照官方文档,我列举如下代码希望对你有帮助

// 实例化User对象
$User = M('User');
// 查询满足要求的总记录数
$count = $User->where('status=1')->count();
// 实例化分页类 传入总记录数和每页显示的记录数(10)
$Page = new \Think\Page($count,10);
$show = $Page->show();// 分页显示输出
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
$list = $User->where('status=1')->order('create_time')->limit($Page->firstRow.','.$Page->listRows)->select();
// 赋值数据集
$this->assign('list',$list);
// 赋值分页输出
$this->assign('page',$show);
// 输出模板
$this->display();

PHP oom的话从mysql层要limit啊,看相关代码

tp不是自带分页功能吗 自己看看文档研究下吧

我操128m

傻了吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进