php实现分页代码

本文介绍使用MySQL和PHP实现数据库分页的具体步骤,包括获取页数、处理数据及输出分页导航等内容。通过示例代码展示如何进行数据库连接、查询指定数量的数据记录以及生成分页链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql+php实现分页

数据库设计,如图


/**

* 1.获取页数

*/

$page = empty($_GET['p'])?1:($_GET['p']);

/**

* 2.处理数据

*/

// 链接数据库

$host = "127.0.0.1";

$user = "root";

$pwd = "root";

$db = "test";

$mysqli = mysqli_connect($host $user $pwd $db);

if (!$mysqli) {

echo "数据库连接错误";

exit();

}

// 设置参数

$pageSize = 10;

// 查询并显示数据(分页公式:(当前页-1)*每页显示的条数 每页显示的条数)

$sql = "select * from page limit ".($page-1)*$pageSize.""."{$pageSize}";

$result = mysqli_query($mysqli $sql);

echo "";

编号姓名

while ($row = mysqli_fetch_assoc($result)) {

{$row['id']}{$row['name']}

echo "";

}

echo "";

// 查询总的页数

$total_sql = "select count(*) from page";

$total_result = mysqli_fetch_array(mysqli_query($mysqli$total_sql));

$total = ceil($total_result[0]/$pageSize);

mysqli_close($mysqli);

/**

* 3.输出分页

*/

$showPage =5;// 显示页数

$banner_page = "

";

$pageOffSet = ($showPage-1)/2;//偏移量

if ($page>1) {

$banner_page.= "首页";

$banner_page.= "上一页";

}

// 初始化数据

$start = 1;

$end = $total;

// 数字前的省略(该部分内容顺序不可修改!!!)

if ($total>$showPage) {

if($page>$pageOffSet+1){

$banner_page .= "...";

} if($page>$pageOffSet) {

$start = $page-$pageOffSet;

$end = $total>$page+$pageOffSet?$page+$pageOffSet:$total;

}else{

$start = 1;

$end = $total>$showPage?$showPage:$total;

}if($page+$pageOffSet>$total){

$start = $start-($page+$pageOffSet-$end);

}

}

// 中间省略

for ($i=$start; $i <= $end; $i++) {

$banner_page.= "{$i}";

}

// 尾部的省略

if ($total>$showPage && $total>($page+$pageOffSet)) {

$banner_page.= "...";

}

if ($page<$total) {

$banner_page.= "下一页";

$banner_page.= "尾页";

}

// 自定义跳转页数

$banner_page.="共{$total}页跳转到页";

echo "$banner_page";

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值