分页功能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>&nbsp;&nbsp;";
    }else{
        $pageNumString .= "<a href='page.php?curPage=$i'>$i</a>&nbsp;&nbsp;";
    }
}

//下一页
$next = $curPage+1>=$totalPage ? $totalPage : $curPage+1;
$pageNumString .= "<a href='page.php?curPage=$next'>下一页</a>";

echo $pageNumString;
上一篇下一篇

猜你喜欢

热点阅读