ThinkPHP 分页函数的改造

本文介绍如何在ThinkPHP项目中实现自定义分页功能,包括分页函数的定义及在Action中的应用,并展示了如何在模板中引用分页结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先在创建好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='__SELF__/p/1'class='btn btn-warning btn-sm'>首页</a>
19         <a href='__SELF__/p/{$prevpage}' class='btn btn-warning btn-sm'>上一页</a>  
20         <span>{$page}/{$pages}</span>
21         <a href='__SELF__/p/{$nextpage}' class='btn btn-warning btn-sm'>下一页</a>
22         <a href='__SELF__/p/{$pages}' class='btn btn-warning btn-sm'>末页</a>
23     </h4>";
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                         <div>
2                            <{$show}>
3                         </div>

因为我用的是bootstrap所以效果如下,样式可以自己通过css定义

转载于:https://www.cnblogs.com/bobo-x/p/4728923.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值