>백엔드 개발 >PHP 튜토리얼 >ThinkPHP 分页函数的改造_PHP教程

ThinkPHP 分页函数的改造_PHP教程

WBOY
WBOY원래의
2016-07-13 09:44:47836검색

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="
17     <h4>
18         <a href=&#39;__SELF__/p/1&#39;class=&#39;btn btn-warning btn-sm&#39;>首页</a>
19         <a href=&#39;__SELF__/p/{$prevpage}&#39; class=&#39;btn btn-warning btn-sm&#39;>上一页</a>  
20         <span>{$page}/{$pages}</span>
21         <a href=&#39;__SELF__/p/{$nextpage}&#39; class=&#39;btn btn-warning btn-sm&#39;>下一页</a>
22         <a href=&#39;__SELF__/p/{$pages}&#39; class=&#39;btn btn-warning btn-sm&#39;>末页</a>
23     </h4>";
24     C(&#39;limit&#39;,$limit);
25     C(&#39;show&#39;,$show);
26 }

 

 
 
这样就定义好了分页函数。其中a连接的class可以自己定义,也可以不定义,之后在页面中通过css从父元素选中分页的html定义样式。
 
之后就是在Action中引用分页函数:(红色部分是关键代码)
 
 
1         $goods=M(&#39;Goods&#39;);
2         $count=$goods->where(&#39;is_pass=1 and is_self=1&#39;)->count();
3         mypage($count,5);
4         $this->rows=$goods->where(&#39;is_pass=1 and is_self=1&#39;)->limit(C(&#39;limit&#39;))->order(&#39;trade_num desc,price asc&#39;)->select();
5         $this->assign(&#39;show&#39;,C(&#39;show&#39;));
6         $this->display();

 

在tpl模板中引用:
 
1                        
2                            
3                        
因为我用的是bootstrap所以效果如下,样式可以自己通过css定义

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1047179.htmlTechArticleThinkPHP 分页函数的改造 首先在创建好ThinkPHP项目以后,打开根目录下的ThinkPHP/Common/functions.php(这里存放的是tp的公共函数) 添加如下代码 1...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.