php mysqli入门,PHP入门(16) 使用mysqli实现简单的分页

前几天正好学习了如何使用PHP自带的api操作MySQL数据库,正好拿一下分页这个小案例练一下手。

关于分页的算法有很多,这里仅仅介绍很简单的一种。

分页的原理:

首先获得总共含有多少行$row_num,总行数除以每页的行数$page_size,向上取整得到总共有多少页$page_num。

容易得到第page页的第一条记录是整张表的第($page-1)*page_size条记录,记为$offset

(注意:行索引是从0开始的)

然后应用mysql的limit关键字 获取每一页的记录结果显示出来即可。

select * from test limit offset, page_size;

具体实现代码:两个文件conn.php indes.php

0818b9ca8b590ca3270a3433284dd417.png

/*conn.php*/

$mysqli = new mysqli("localhost","root","123456","mydb") or die("数据库连接失败!".$mysqli->errno);

/*index.php*/

include_once("conn/conn.php");

$page = $_GET["page"];

if($page == ""){

$page = 1;

}

if(is_numeric($page)) {

$page_size = 4;

$res = $mysqli->query("select * from test");

$row_count = $res->num_rows;

$page_num = ceil($row_count / $page_size);

$offset = ($page - 1) * $page_size;

$res = $mysqli->query("select * from test limit $offset,$page_size");

while ($row = $res->fetch_assoc()) {

echo "

echo "

".$row["id"]."";

echo "

";

}

}

echo "总共有".$page_num."页记录";

echo "
";

if($page != 1) {

echo "首页";//index.php的路径不加引号也可以

echo "上一页";//如果表达式不是直接的变量,必须计算出来之后使用.连接

}

for($i=1;$i<=$page_num;$i++){

echo "第$i 页 ";

}

if($page 

echo "下一页";

echo "尾页";

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值