五环之歌之PHP分页
根据以往的经验,对于很多初学者,分页功能实现起来还是有一定的困难的,为了帮大家解决这样的问题:特此献上五环之歌。从此分页功能便是如小岳岳唱歌一样简练,漂亮,精干。哈哈,不闲扯了。正式进入千锋PHP五环之歌之步骤实现分页功能。
第一环:计算总的记录数—即总共要显示多少条数据
第二环: 每页显示的条数—即一般都是我们程序媛来规定每页显示几条数据。
第三环: 计算总页数—即根据以上两个条件便可求出总的页数,为了防止出现小数,我们都是向上取整。详情见下面代码:
第四环: 显示当前页面数—即我们一般在地址栏中需要传递一个分页参数,例如p=5,则5就是当前的页码数。
第五环: 计算偏移量—即这是最关键的一步,以上的步骤就是为求偏移量做铺垫的。偏移量=(当前页码数-1)* 每页显示的条数
以下是小妹做出的一个实例:
以上链接数据库部分省略:
//查询数据得到总共有多少条数据
$sql = “SELECT count() FROM test”;
$result = mysqli_query($con, $sql);
$count = mysqli_fetch_assoc($result);
$count = intval($count[‘count()’]);
//规定每页显示几条数据
$perPage = 5;
//计算总页数,并且向上取整
$pages = ceil($count/$perPage);
//显示当前页码数
$curPage = isset($_GET[‘p’]) ? min(max((int)$_GET[‘p’],1),$pages) : 1;
//最后求偏移量
$offset = ($curPage - 1) * $perPage;
//最后通过查询数据使用LIMIT来显示每页显示多条数据即可。
$sql = “SELECT * FROM test ORDER BY id DESC LIMIT $offset,
$perPage”;
$result = mysqli_query($con, $sql);
写代码就要像千锋PHP口号一样:傻X一样的坚持,才能有牛X的结果。
五环之歌之PHP分页的更多相关文章
- iOS 音频拼接
工作中或许会遇到这样的需求,将两段不同的音频合成一个音频(暂且称之为音频拼接),实现起来相对来说不是很难,再介绍如何拼接之前,先了解下AVFoundation下的几个基本知识点. 基本知识 AVAss ...
- Postgresql-模糊匹配大杀器
# Postgresql-模糊匹配大杀器 ## 问题背景 随着pg越来越强大,abase目前已经升级到5.0(postgresql10.4),目前abase5.0继承了全文检索插件(zhparser) ...
- HEOI2019 游记——240秒处的起死回生
我还没死 Day-1 最后一场模拟赛! T1:自然数幂次和再前缀和,还是O(k)次多项式,拉格朗日插值,,,,,不能总想斯特林数啊!!! T2:神仙DP预处理... T3:AC自动机+LCA处差分+暴 ...
- if语句和case语句用法展示
if语句和case语句用法展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.单分支if条件语句 1>.语法格式一 if [ 条件判断式 ];then 源代码 fi 2& ...
- 《Node.js核心技术教程》学习笔记
<Node.js核心技术教程>TOC \o "1-3" \h \z \u 1.章模块化编程 2019.2.19 13:30' PAGEREF _101 \h 1 08D ...
- xcode添加背景音乐/音效
xcode添加音效:http://www.cnblogs.com/jiayongqiang/p/5625886.html 背景音乐: ios播放音乐时会用到一个叫做AVAudioPlayer的类,这个 ...
- python 中的while循环、格式化、编码初始
while循环 循环:不断重复着某件事就是循环 while 关键字 死循环:while True: 循环体 while True: # 死循环# print("坚强")# pr ...
- python基础(while、运算符、编码初始)
------------恢复内容开始------------ <!doctype html> while循环 while循环 循环:不断重复着某件事就是循环 while 关键字 死循环:w ...
- 蒲公英 · JELLY技术周刊 Vol.35: Flash 四宗罪?
蒲公英 · JELLY技术周刊 Vol.35 Flash 曾是 Web 迈向新世代的福音书,它为这个世界带来了缤纷色彩,但也如伊甸园的苹果,闪耀着智慧的光芒,却四灾随行.诞生 1995 年至今 25 ...
随机推荐
- PAT - 1067 试密码 (20 分)
当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实现这个小功能. 输入格式: 输入在第一行给出一个密码(长度不超过 20 的.不包含空格. ...
- windows server 2003和window2008区别
windows 2003与windows 2008简介 windows 2003是微软老一代的服务器系统,自带iis 6,操作界面类似于windows XP,因为国内很多IDC都喜欢用盗版window ...
- hdu1387 模拟队列
Team Queue Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ...
- HIVE 计算指定日期本周的第一天和最后一天
-- 计算指定日期本周的第一天和最后一天 select day ,dayofweek(day) as dw1 ,date_add( - dayofweek(day)) as Su_s -- 周日_st ...
- thinkPHP5.0联表查询和统计文章的图片(栏目文章)数量
public function index(){ //获取内容列表信息 $res = db('article')->alias('a') ->join('category b', 'b.i ...
- Mac 系统变量
vim .bash_profile ========================= MAVEN_HOME = < ... > export MAVEN_HOME =========== ...
- [转]jQuery页面滚动图片等元素动态加载实现
本文转自:http://www.zhangxinxu.com/wordpress/?p=1259 一.关于滚动显屏加载 常常会有这样子的页面,内容很丰富,页面很长,图片较多.比如说光棍节很疯狂的淘宝商 ...
- [转]jQuery AJAX pagination plugin with ASP.NET Server Side
本文转自:http://do-web.com/jpaging/usage How does it work? 1. In order to implement the plugin, you need ...
- VB.NET中的模块
在C#中有“静态类”的概念,自然里边全部的方法都是静态的.这意味着你可以直接通过"类名.方法名"去调用(例如System的Math类就是典型).在VB.NET中,没有“静态类”的概 ...
- Ubuntu瞎胡搞
ubutnu的几个必不可少的软件: 1.Guake,超级方便的终端 2.Unity tweak tool 3.VLC,本地视频播放器 4.MyPint,简单画图软件 5.GIMP,PS工具 Subli ...