前言
大多数项目都会有“数据列表“这样的功能,而数据量是不可控的,所以必须用页数来控制网页显示的数据量。
注:分页的实现方法有很多,本文仅介绍了基础的一种。
背景介绍
一个最常见的数据列表,作为今天文章的模板,假设表格数据来自MYSQL。idnametitle1张三今天有个好天气
2李四明天要下雨
3王五昨天气温很高首页 1 2 3 4 5 下一页 尾页
功能讲解
说到底,分页功能其实就俩需求计算并显示所有页码
点击页码,显示相关数据
计算页码每页显示:10条
数据总量:101条
页码数量:ceil(101/10)=11
显示分页:for($i=1;$i<=11;$i++)
我只给大家提供线索,请自行思考。
显示数据
先给大家介绍一个SQL语法:limitlimit 0,5 显示结果集前5条
limit 10,5 跳过10条,显示后5条
完整的SQL:SELECT * FROM tableName limit 10,5
思考:每页显示5条数据,当前是第三页,那么SQL语句应该是怎样的?
解答:需要跳过(5条*2页=10)条数据,显示后5条,也就是:limit 10,5
举个栗子
栗子仅仅是栗子,帮大家理解思路的。
生成页码$p = 5; //每页显示5条
$t = 100; //数据总量
$max = t/p; //共有20页
for($i=1; $i<=max; $i++){
echo "第$i页";
}
计算SQL//猜猜这个page哪里来的
$p = 5; //每页显示5条
$page = $_GET['page'];
//跳过多少条数据?
$offset = ($page-1)*$p;
$limit = " limit $offset, $p ";
$sql = "SELECT * from tableName" . $limit;
总结
这是第一次尝试给大家写功能性的文章,是否能看懂呢?希望大家给我反馈。
答疑微信:pmtt9121