ThinkPHP 分页函数的改造
程序员文章站
2022-05-17 08:06:06
...
ThinkPHP 分页函数的改造
首先在创建好ThinkPHP项目以后,打开根目录下的ThinkPHP/Common/functions.php(这里存放的是tp的公共函数)
添加如下代码
1 function mypage($tot,$length){ 2 $page=$_GET['p']?$_GET['p']:1; 3 $offset=($page-1)*$length; 4 $prevpage=$page-1; 5 6 $pages=ceil($tot/$length); 7 8 if($page>=$pages){ 9 $nextpage=$pages; 10 }else{ 11 $nextpage=$page+1; 12 } 13 14 $limit="{$offset},{$length}"; 15 16 $show=" 1718 首页 19 上一页 20 {$page}/{$pages} 21 下一页 22 末页 23
"; 24 C('limit',$limit); 25 C('show',$show); 26 }
这样就定义好了分页函数。其中a连接的class可以自己定义,也可以不定义,之后在页面中通过css从父元素选中分页的html定义样式。
之后就是在Action中引用分页函数:(红色部分是关键代码)
1 $goods=M('Goods'); 2 $count=$goods->where('is_pass=1 and is_self=1')->count(); 3 mypage($count,5); 4 $this->rows=$goods->where('is_pass=1 and is_self=1')->limit(C('limit'))->order('trade_num desc,price asc')->select(); 5 $this->assign('show',C('show')); 6 $this->display();
在tpl模板中引用:
1
2
3
因为我用的是bootstrap所以效果如下,样式可以自己通过css定义
推荐阅读
-
thinkPHP5框架实现基于ajax的分页功能示例
-
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
-
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
-
JS基于封装函数实现的表格分页完整示例
-
thinkPHP使用post方式查询时分页失效的解决方法
-
分页存储过程(一)使用sql2005的新函数构造分页存储过程
-
thinkPHP5框架实现分页查询功能的方法示例
-
ThinkPHP删除目录及目录下文件的函数【转】
-
ThinkPHP自定义函数解决模板标签加减运算的方法
-
ThinkPHP 3.2,配置 'URL_MODEL'=>2。 APP_DEBUG设为false,U函数生成的URL的index.php不能去掉,只有将APP_DEBUG改成true,才能去掉index.php,求解~~