这篇文章将为大家详细讲解有关php如何实现记录分页,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
php实现记录分页的思路:1、获取结果集中的记录数;2、设置每页显示记录的数量;3、获取总页面数量;4、控制每页显示的记录数;5、通过传递参数的方式通知脚本程序显示的页码即可。
本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。
php实现记录分页的思路是什么?
PHP+Mysql 实现数据分页显示:
获取结果集中的记录数 可以在SELECT语句中使用COUNT()函数获取结果集中的记录数量
设置每页显示记录的数量 假定使用变量$PageSize
来保存每页显示记录的数量,它的值由 用户根据需要自行设置,可以直接通过赋值语句来实现。
获取总页面数量 可以通过$RecordCount
和$PageSize
两个数据计算得到总页面数量$PageCount
,
如何显示第n 页中的记录虽然使用 PageSize属性可以控制每页显示的记录数,但是要 显示那些记录呢?可以在SELECT语句中使用LIMIT子句指定查询记录的范围, 其 使用方法如下: SELECT * FROM 表名 LIMIT起始位置, 显示记录数量例如,要获取第$Page
页 中的记录,可以使用下面的语句:SELECT * FROM 表名LIMIT ($Page- 1) * $ PageSize, $ PageSize
如何通知脚本要显示的页码可以通过传递参数的方式通知脚本程序显示的页码。假定分页显记录的脚本为 viewPage. php,传递参数的链接如下:http:// localhost/ viewPage. php? page= 2
参数page用来指定当前的页码。在viewPage. php中,使用下面的语句读取参数:
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Document</title>
</head>
<body>
<?php
header("content-type:text/html;charset=utf-8");
//获取当前页码
$page=$_GET['page'];
if($page==0){
$page=1;
}
//设置每页最大能显示的数量
$pagesize=3;
//连接数据库
$conn=mysql_connect("localhost","root","root");
mysql_select_db("test");
mysql_query("set names utf-8");
if(!$conn){
die("mysql_connect_failed".mysql_connect_error());
}
else
echo("connected succeed"."<br />");
//获取结果集的记录数
$row=mysql_fetch_row(mysql_query("select count(1) from clerk"));
$recordcount=$row[0];
//计算总页数
if($recordcount==0)
$pagecount=0;
else if($recordcount<$pagesize ||$recordcount==$pagesize){
$pagecount=1;
//如果 记录 总数 量小 于 每页 显示 的 记录 数量, 则 只有 一页
}
else if($recordcount%$pagesize==0){
$pagecount=$recordcount/$pagesize;
//如果 没有 余数, 则 页数 等于 总 记录 数量 除以 每页 显示 记录 的 数量
}
else
$pagecount=(int)($recordcount/$pagesize)+1;
//取 记录 总数 量 不能 整除 每页 显示 记录 的 数量,
// 则 页数 等于 总 记录 数量 除以 每页 显示 记录 数量 的 结果 取整 再加 1
echo("当前页码:".$page."/".$pagecount."<br />");
?>
<table width="449" border="1">
<tr>
<td>员工姓名</td>
<td>职务</td>
<td>薪水</td>
</tr>
<?php
//循环显示当前页面的记录
header("content-type:text/html;charset=utf-8");
echo $page;
//$sql="select * from clerk limit" .($page-1)*$pagesize.",".$pagesize; //$page为当前页码
$sql=($page-1)*$pagesize;
$result=mysql_query("select * from clerk limit {$sql},{$pagesize}");
while($row=mysql_fetch_row($result))
{
echo("<tr />");
echo("<td>$row[0]</td>");
echo("<td>$row[2]</td>");
echo("<td>$row[3]</td>");
echo("<tr />");
}
mysql_close($conn);
//显示分页链接
if($page==1){
echo("第一页");
}
else
echo("<a href=viewpage.php?page=1>第一页</a>");
//设置上一页连接
if($page==1){
echo("上一页");
}
else
echo("<a href=viewpage.php?page=".($page-1).">上一页</a>");
//设置下一页链接
if($page==$pagecount){
echo("下一页");
}
else
echo("<a href=viewpage.php?page=".($page+1).">下一页</a>");
//设置最后一页
if($page==$pagecount){
echo("最后一页");
}
else
echo("<a href=viewpage.php?page=".$pagecount.">最后一页</a>");
?>
</table>
</body>
</html>
关于“php如何实现记录分页”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。