第一步:传入页码
$page=isset($_GET['p'])?trim($_GET['p']):1;
第二步:链接数据库
第三步:取出数据
$sql="select * from my_page limit ".($page-1)*$pagesize .",{$pagesize}";
$result=mysqli_query($conn, $sql);
while($row=mysqli_fetch_assoc($result)){
echo "<tr>";
echo "<td>{$row['id']}</td>";
echo "<td>{$row['name']}</td>";
echo "</tr>";
}第四步:获取记录总数和总共的页码数
//获取数据总数 $total_sql="select count(*) from my_page"; $total_result=mysqli_query($conn, $total_sql); $total_info=mysqli_fetch_array($total_result); //对结果进行处理 $total=$total_info[0]; echo '总条数为:'.$total."<br>"; //计算页数 $total_page=ceil($total/$pagesize);//总页数
第五步:显示数据+分页条+分页条的省略号编写(最重要的是偏移量的计算及同显示页码之间的逻辑关系)
//计算偏移量
$pageoffset=($showpage-1)/2;
if($page>1){
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=1"."'>首页</a>";
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page-1)."'><上一页</a>";
}else{
$page_banner.="<span class='disable'>首页</span>";
$page_banner.="<span class='disable'><上一页</span>";
}
//初始化数据(即用来表示从哪个页码开始显示,到哪个页码显示结束)
$start=1;
$end=$total_page;
if($total_page>$showpage){ //总页码数大于了我们想要显示的页码数
if($page>$pageoffset+1){//并且当前页码大于了偏移量加一
$page_banner.="...";
}
if($page>$pageoffset){//当前页码大于偏移量
//例如当前页是5是,起始位置就要为(5-2)
$start=$page-$pageoffset;
$end=$total_page>$page+$pageoffset?$page+$pageoffset:$total_page;
}else{ //当前页码小于等于偏移量
$start=1;
$end=$total_page>$showpage?$showpage:$total_page;
}
if($page+$pageoffset>$total_page){
$start=$start-($page+$pageoffset-$end);
}
}
//显示数据
for($i=$start;$i<=$end;$i++){
if($page==$i){
$page_banner.="<span class='current'>{$i}</span>";
}else{
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($i)."'>{$i}</a>";
}
}
if($total_page>$showpage&&$total_page>$page+$pageoffset){
$page_banner.="....";
}
if($page<$total_page){
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page+1)."'>下一页></a>";
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($total_page)."'>尾页</a>";
}else{
$page_banner.="<span class='disable'>下一页></span>";
$page_banner.="<span class='disable'>尾页</span>";
}
$page_banner.="<br>"."共{$total_page}页<br>";第六步:跳转功能的实现
$page_banner.="<form action='my_page.php' method='get'>"; $page_banner.="到第<input type='text' size='2' name='p'>"; $page_banner.="<input type='submit' value='确定'>"; $page_banner.="</form>";
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号