PHP实现记录分页的思路:1、获取结果集中的记录数;2、设置每页显示记录的数量;3、获取总页面数量;4、控制每页显示的记录数;5、通过传递参数的方式通知脚本程序显示的页码即可。
本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。
设置每页显示记录的数量 假定使用变量
$PageSize
来保存每页显示记录的数量,它的值由 用户根据需要自行设置,可以直接通过赋值语句来实现。如何显示第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教程》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。