首页 > 其他 > 详细

前端分页机制的具体实现

时间:2015-08-14 13:56:25      阅读:129      评论:0      收藏:0      [点我收藏+]

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

            请看以下图片的内容:

               技术分享

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

           还是先来看一组照片:     

           技术分享  <-   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://my.oschina.net/meichao/blog/492282

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!