网站首页 > 技术文章 正文
? ? ? ? ? ? 以前不太懂后台的时候一直在纠结分页机制具体是如何实现的,好高端的赶脚,随着知识的增长和经验的日积月累,发现其实也就是那么回事,那么具体是怎么一回事呢?或许还有很多新手小伙伴不太清楚具体的实现机制,那么接下来我们一起来分享一下吧!
? ? ? ? ? ? 请看以下图片的内容:
? ? ? ? ? ? 当前页面只显示两条数据(这个具体每页显示多少条根据业务需要,我这只是做测试而已),那么可以看到总共页数有两页(稍后讲解这个两页是怎么的出来的),页面刚进来的时候显示的数据默认为第一页。(好吧,我承认我写到这的时候我突然不知道接下来该怎么写了~~~~)
? ? ? ? ? ?还是先来看一组照片: ? ??
? <- ??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
猜你喜欢
- 2024-12-15 前端加载超大图片(100M以上)实现秒开解决方案
- 2024-12-15 基于Vue3若依开源框架的专业培养方案教学计划表的前端实现
- 2024-12-15 虚拟人是怎么制作出来的? 虚拟人siren
- 2024-12-15 1.9K star!这款 JavaScript 神器,几行代码轻松实现 360° 全景图
- 2024-12-15 实现个简易的nextTick 实现一个simplecircle
- 2024-12-15 使用UniApp实现微信小程序支付功能的完整教程(前端部分)
- 2024-12-15 Axure教程:通过引用前端JS代码实现浏览器全屏效果
- 2024-12-15 前端 web 如何实现“签名手写”板
- 2024-12-15 前端轮播图怎么做?JavaScript来帮你轻松搞定
- 2024-12-15 实现一键复制,前端复制命令指南 前端复制粘贴就行了,不用学吗
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)