加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

PHP、MYSQLI实现分页初学者

发布时间:2023-05-11 14:18:21 所属栏目:MySql教程 来源:
导读://初次实现分页功能的想法(当然了,是别人的想法,我只是记录了下来而已)

//1. 求出总条数

//准备sql语句(查询出数据库bbs_user表数据的总条数)
$sql = "select count(*) as count from bbs_us
//初次实现分页功能的想法(当然了,是别人的想法,我只是记录了下来而已)

//1. 求出总条数  
   
     //准备sql语句(查询出数据库bbs_user表数据的总条数)
    $sql = "select count(*) as count from bbs_user";
    
    //发送sql语句(接收过来查询到条数)
    $result = mysqli_query($conn,$sql);
    
    //处理结果集
    $pageRes = MysqLi_fetch_assoc($result);
    //var_dump($pageRes);
     //$count把条数从结果集里取出(总条数)
    $count = $pageRes['count'];

var_dump($count) ;看一看:

PHP、MYSQLI实现分页(初学者)

//2. 需求:每页只显示5条  
   
$num = 5;

//3. ceil(总条数/每页显示数)   ceil是向上取整,就算剩一条也要单独占一页 (3页)
    
$pageCount = ceil($count / $num);   //分的页数
    var_dump($pageCount) ;打印查一下:

PHP、MYSQLI实现分页(初学者)
 
//4. 根据总页数求出偏移量(即下一页开始是第几条,下边推出的公式)    
    
 $offset = ($page - 1) * $sum(5);
    
    
//5. $page 可以设置默认值为 1 ,但是还没有值,所以我们可以给定一个初值
    
    $page = 1;

//6. 修改sql语句(此sql非 彼sql语句),使用limit限制(下边的推导)

$sql = "select * from bbs_user limit " . $offect . ',' . $num;       //其中limit后边必须跟空格,否则会出错
//可以运行看看出现什么效果

PHP、MYSQLI实现分页(初学者)
  
//7. 我们是不是还没有写上一页、下一页、首页以及尾页?
 
        <a href = "" >首页&nbsp;&nbsp;&nbsp;
    <a href = "" >上一页&nbsp;&nbsp;&nbsp;
    <a href = "" >下一页&nbsp;&nbsp;&nbsp;
    <a href = "" >尾页

PHP、MYSQLI实现分页(初学者)
    
//8. 修改$page的初值    , 我们自动获取page的值
 
$page = $_GET['page'];
    
    //此时我们会发现竟然出错了 !空?怎么改?

PHP、MYSQLI实现分页(初学者)

    //我们的初始目的是让$page的初值为 1 ,我们可以这样,加一个条件判断,如果空就为 1,否则就是得到的页数

$page = empty($_GET['page'])? 1 : $_GET['page'];//三目运算

//9. 我们先把链接给定首页和尾页(简单),再把上一页下一页写上
    
    //首页就是主页面,即page=1
    
<a href = "testFenye.PHP?page = 1" >首页
    
    //尾页就是总页数(可以想一下,总页数就是最后一页)
    
<a href = "testFenye.PHP?page = <?PHP echo $pageCount; ?>" >尾页

    //上一页我们先用一个$prev表示
    
<a href = "testFenye.PHP?page = <?PHP echo $prev; ?>">上一页
    
    //下一页同上一页,用$next表示
    
<a href = "testFenye.PHP?page = <?PHP echo $next; ?>">下一页
    
    
//10. 写完了链接,但是$prev和$next我们还没有给值呢

    //上一页的话就是$page - 1了
  
 $prev = $page - 1 ;
    
    //那么下一页就是$page + 1了
    
$next = $page + 1 ;
   
PHP、MYSQLI实现分页(初学者)

//11. 因为$page的初值为 1 , (参考第 5 步或第 8 步),     所以$prev会到 0 , $next会是page+1,也就是我们点下一页page就会增加 1 ,我们可以加一个限制条件
   
       if($prev < 1){
        $prev = 1 ;
    }
    if($next > $pageCount){
        $next = $pageount ;
    }

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章