分页功能2(仿百度分页)
2018-09-03 本文已影响14人
z1挂东南
2018.09.03
.
.
只有一个文件,代码如下:
<?php
/*
// ******在使用数据库的情况下******
//1.连接数据库
$link = mysqli_connect('localhost', 'root', '123456');
//2.设置客户端字符集
mysqli_query($link, 'set names utf8');
//3.获取总记录数
$sql = "SELECT * total FROM sql_name";
$rs = mysqli_query($link, $sql);
$arr = mysqli_fetch_assoc($rs);
$totalRows = $arr['total'];
//4.定义每页显示的记录数
$rowsPerPage = 6;
//5.计算总页数
$totalPage = ceil($totalRows / $rowsPerPage);
*/
//人为定义一个最大页码数
$totalPage = 30;
//当前页码数,默认当前页码为1
$curPage = isset($_GET['curPage']) ? $_GET['curPage'] : 1;
//存储页码字符串
$pageNumString = '';
//根据当前页,决定起始页与终止页
if($curPage <= 5){
$begin = 1;
$end = $totalPage>=10 ? 10 : $totalPage;
}else{
$end = $curPage+5>$totalPage ? $totalPage : $curPage+5;
$begin = $end-9<=1 ? 1 : $end-9;
}
//上一页
$prev = $curPage-1<=1 ? 1 : $curPage-1;
$pageNumString .= "<a href='page.php?curPage=$prev'>上一页</a>";
//根据起始页与终止页将当前页面的页码显示出来
for($i=$begin; $i<=$end; $i++){
if($curPage == $i){
$pageNumString .= "<a href='page.php?curPage=$i'><font color='red'>$i</font></a> ";
}else{
$pageNumString .= "<a href='page.php?curPage=$i'>$i</a> ";
}
}
//下一页
$next = $curPage+1>=$totalPage ? $totalPage : $curPage+1;
$pageNumString .= "<a href='page.php?curPage=$next'>下一页</a>";
echo $pageNumString;