博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThinkPHP3.2.3学习笔记6---专题---数据分页
阅读量:5114 次
发布时间:2019-06-13

本文共 2975 字,大约阅读时间需要 9 分钟。

thinkphp3.2.3中分类的功能调用的文件$THINKPHP_HOME/ThinkPHP/Library/Think/Page.class.php,这个文件只有150行左右,不复杂,比较容易看懂,方便自己修改,也可以在此基础上进行新功能的扩展。

控制器

$THINKPHP_HOME/Application/Home/Controller/PageController.class.php

 

1 
userObj = D('page');10 }11 12 //第一种:利用Page类和limit方法进行分页13 public function pageLimit(){14 $this->userObj = $this->getUserObj();15 16 $data = $this->userObj->pageLimit();17 18 19 $list = $data['list'];20 $page = $data['page'];21 22 //var_dump($data);23 24 $this->assign('list', $list);// 赋值数据集25 $this->assign('page', $page);// 赋值分页输出26 $this->display('Page:page'); // 输出模板27 }28 29 //第一种:利用Page类和page方法进行分页30 public function pagePage(){31 $this->userObj = $this->getUserObj();32 33 $data = $this->userObj->pagePage();34 35 36 $list = $data['list'];37 $page = $data['page'];38 39 //var_dump($data);40 41 $this->assign('list', $list);// 赋值数据集42 $this->assign('page', $page);// 赋值分页输出43 $this->display('Page:page'); // 输出模板44 }45 }46 ?>

 

模型$THINKPHP_HOME/Application/Home/Model/PageModel.class.php

1 
userObj = M('User', '99game_');10 }11 12 //第一种:利用Page类和limit方法进行分页13 public function pageLimit() {14 $User = $this->getUserObj();15 $count = $User->where('level=1')->count();// 查询满足要求的总记录数16 $Page = new \Think\Page($count, 3);// 实例化分页类 传入总记录数和每页显示的记录数(3)17 18 //配置theme是用来设置分页要显示哪些数据项的,比如%HEADER%表示“共XX条记录”19 $Page->setConfig('theme', '%HEADER% %NOW_PAGE%/%TOTAL_PAGE% %FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%');20 $show = $Page->show();// 分页显示输出21 22 // 进行分页数据查询 注意limit方法的参数要使用Page类的属性23 $list = $User->where('level=1')->order('user_id desc')->limit($Page->firstRow.','.$Page->listRows)->select();24 echo "sql: " . $User->_sql() . "\n";25 26 return array('list' => $list, 'page' => $show);27 }28 29 //第一种:利用Page类和page方法进行分页30 public function pagePage() {31 $User = $this->getUserObj(); // 实例化User对象32 // 进行分页数据查询 注意page方法的参数的前面部分是当前的页数使用 $_GET[p]获取33 $count = $User->where('level=1')->count();// 查询满足要求的总记录数34 $Page = new \Think\Page($count, 3);// 实例化分页类 传入总记录数和每页显示的记录数35 $show = $Page->show();// 分页显示输出36 37 $list = $User->where('level=1')->order('user_id desc')->page($_GET['p'].',3')->select();38 39 return array('list' => $list, 'page' => $show);40 }41 }42 ?>

 

模板$THINKPHP_HOME/Application/Home/View/Page/page.html

1 数据列表
2
3 {
$k} : {
$key} : {
$data.user_id} : {
$data.email} : {
$data.token}
4
5 6 分页数据
7 {
$page}

 

在浏览器中分别输入以下两个网址进行测试,可以输出正确的结果

http://localhost:81/research/thinkphp_3.2.3_full/index.php/Home/Page/pageLimit

http://localhost:81/research/thinkphp_3.2.3_full/index.php/Home/Page/pagePage

 

延伸阅读:

转载于:https://www.cnblogs.com/caihuafeng/p/5580387.html

你可能感兴趣的文章
springboot No Identifier specified for entity的解决办法
查看>>
慵懒中长大的人,只会挨生活留下的耳光
查看>>
"远程桌面连接--“发生身份验证错误。要求的函数不受支持
查看>>
【BZOJ1565】 植物大战僵尸
查看>>
VALSE2019总结(4)-主题报告
查看>>
浅谈 unix, linux, ios, android 区别和联系
查看>>
51nod 1428 活动安排问题 (贪心+优先队列)
查看>>
中国烧鹅系列:利用烧鹅自动执行SD卡上的自定义程序(含视频)
查看>>
Solaris11修改主机名
查看>>
latex for wordpress(一)
查看>>
如何在maven工程中加载oracle驱动
查看>>
Flask 系列之 SQLAlchemy
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
python常用函数
查看>>
FastDFS使用
查看>>
服务器解析请求的基本原理
查看>>
[HDU3683 Gomoku]
查看>>
【工具相关】iOS-Reveal的使用
查看>>