c语言分页功能实现原理,26 - 分页功能的实现原理

前言

大多数项目都会有“数据列表“这样的功能,而数据量是不可控的,所以必须用页数来控制网页显示的数据量。

注:分页的实现方法有很多,本文仅介绍了基础的一种。

背景介绍

一个最常见的数据列表,作为今天文章的模板,假设表格数据来自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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值