超简单分页实现原理

在这里插入图片描述

<?php
//函数isset()或者 empty()--------判断变量是否已配置。
//函数ceil()-------ceil(x)返回的是大于x的最小整数。如: ceil(2.5) = 3
//函数limit()----------表示选者范围,从$page当页第几个开始=($page*$meiye)  到后面的第几个为止
//函数count()-----------统计数据库记录数
$conn=mysqli_connect("localhost", "root", "root");
mysqli_select_db($conn,'bbs');
mysqli_set_charset($conn,'utf-8');                //连接数据库配置

$sql="select count(*) from admin ";          //统计数据库记录数  并连接表
$rs=mysqli_query($conn,$sql);                      //发送一条 MySQL 查询
$rsc=mysqli_fetch_array($rs);                //返回数组资料 显示记录集RS
$num=$rsc[0];            //得到总记录数
$meiye=3 ;               //定义每页显示记录数
$zhongye=$num/$meiye;      //得到总页数    公式//总页数=总记录数/每页记录数
?>

<?php
if(empty($_GET['page'])){       //如果empty /isset 判断变量是否已配置  如果已经设置则输出
    $page=0;                       //输出 强行给PAGE(当前页)=0
}
else                          //否则
{
    $page=$_GET['page'];        //定义PAGE等于传递来的GET
    if($page<0) $page=0;         //如果传来 PAGE(当前页)<0  则定义为0

    if($page>=($zhongye))        //如果PAGE(当前页)>总页数 则定义下面的
        $page=ceil($zhongye)-1;     //总页数-1  ceil取整数1.5=2来算
}
?>

<?php
$sql="select * from  admin limit ".($page*$meiye).",$meiye";
//limit表示选者范围,从$page当页第几个开始=($page*$meiye)  到后面的第几个为止
//定义变量$sql, 意思是读取表admin中的数据  ORDER BY ID DESC 降序排
$rs = mysqli_query($conn,$sql);
//定义变量$rs 查询记录
while ($row = mysqli_fetch_array($rs)){
//定义量变(数组)row ,并利用while循环,通过返回组数据的函数mysql_fetch_array把数据一一写出来.
    echo "$row[username]";//输出NAME $row[1]  这样取也可以
    echo "<br>";
}
?>


<a href="?page=0">首页</a>
<a href="?page=<?=($page-1)?>">上一页</a>
<a href="?page=<?=($page+1)?>">下一页</a>
<a href="?page=<?=ceil($zhongye)-1?>">尾页</a>
<P>
    总页数<?=ceil($zhongye)?>  当前页数<?=($page+1)?>   总记录数<?=($num)?>  每页记录数<?=$meiye?>

猜你喜欢

转载自blog.csdn.net/qq_40437676/article/details/108242670
今日推荐