前端分页机制的具体实现

 

 

            以前不太懂后台的时候一直在纠结分页机制具体是如何实现的,好高端的赶脚,随着知识的增长和经验的日积月累,发现其实也就是那么回事,那么具体是怎么一回事呢?或许还有很多新手小伙伴不太清楚具体的实现机制,那么接下来我们一起来分享一下吧!

            请看以下图片的内容:

               

            当前页面只显示两条数据(这个具体每页显示多少条根据业务需要,我这只是做测试而已),那么可以看到总共页数有两页(稍后讲解这个两页是怎么的出来的),页面刚进来的时候显示的数据默认为第一页。(好吧,我承认我写到这的时候我突然不知道接下来该怎么写了~~~~)

           还是先来看一组照片:     

             <-   listGiftActivity函数体里具体实现的功能类似于这样的一段sql:

                             select * from '表名' where 'pari_id' = $params['party_id'] LIMIT {$limit} OFFSET {$offset}      ,     那么一开始的时候得到的是数据库里查询的offset为0的两条数据,即每页显示两条数据,数据返回全部存放在$list变量中,这个具体怎么将数据取出来形成表格不多做讲解,不是本章重点,函数的参数列表的最后一个$count是引用型变量,可直接拿来用,$count所对应的就是查询到的所有数据的总条数,这里需要注意的有两个地方:

                        1:isset($_REQUEST['fenye'])     这个对后面的分页机制起关键作用

                        2:$count变量                                 该变量是分页机制中的总页数的显示

            每页显示两条数据已经搞定,那么现在我们该处理的就是分页按钮中的点击不同按钮出现不同的数据,还是来看一组代码图片:

                 目前我们需要如下数据:$extra_params数组,总条数,每页显示的条数,当前页数(页面刚载入时默认为1),总页数(总条数除以每页显示条数),url地址,$page = max(1,min($page,$total_page)); 该行代码主要处理的是总页数只有一页的情况,在函数体里具体逻辑如下:首先,得到总页数(例如当前页数为2),具体进行如下操作:

注:图片中的  “上一页”  应改为  “下一页”,手误,见谅 

             然后将这些数据进行拼接得到每一个a标签的href为l:gift_activity/gift_activity.php?fenye=link&page=(当前页)(拼接url只是用到了$extra_params数组,url,page变量),后台接收到两个参数, fenye,page,这里就需要用到了 if(isset($_REQUEST['fenye'])),然后进入if语句,进行offset的重新计算(即:$offset = $limit * ($page-1)),然后重新执行最开始的sql查询,得到的数据覆盖原先的数据进行显示,这样,分页机制就完全实现了。

             写的有点啰嗦,如有写的不好的地方,还请多多指点!!!!

原文链接:http://www.gbtags.com/gb/share/6203.htm

文章来自极客标签网站

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值