PHP分页类练习总结,学习面向对象思想

1、首先确定最终实现的效果

2、设计思路

创建分页展示页面:index.php

创建分页类:mypage.class.php

先来写index.php

思路:

1、显示需要分页的数据

2、定义变量:数据总条数$total、每页显示条数$num

3、实例化分页对象,传入以上2个变量,并调用显示分页的方法

//计算总条数
$sql="select count(*) from `article`";
$result=mysqli_query($conn,$sql);
$rs=mysqli_fetch_array($result);
$total=$rs[0];
//每页显示条数
$num=5;


//显示数据
$sql="select * from `article`";
$result=mysqli_query($conn,$sql);
$rs=mysqli_fetch_array($result);
while($rs=mysqli_fetch_array($result)){
        echo "<div calss='list'>";
        echo "<h3>{$rs['title']}</h3>";
        echo "<p class='line-limit-length'>".strip_tags($rs['content'])."</p>";
        echo "<p class='p2'>{$rs['creat_time']}</p>";
        echo "<p class='p2'></p>";
        echo "</div>";
    }

//实例化对象
$page = new page("$total",$num);
//调用分页显示方法,显示分页
echo $page->showPage();

再来写mypage.class.php

思路:

1、创建构造函数,接收对象参数

2、获取当前页面url方法,因为每次获取地址后,都会传个page参数,所以先得把url里的参数删掉

private function getUrl(){
        $url=$_SERVER['REQUEST_URI'].(strpos($_SERVER['REQUEST_URI'],'?')?'':'?');
        $arr=parse_url($url);
        if(isset($arr['query'])){
            parse_str($arr['query'],$queryArr);
            unset($queryArr['page']);
            $url = $arr['path'].'?'.http_build_query($queryArr);
        }
        return $url;

    }

3、设置limit方法

分页功能的核心是这一句:select * from 表名 limit 起始条数,每页条数

通过limit方法来设置这一段sql“limit 起始条数,每页条数”

起始条数=(当前页数-1)*每页条数(这一句是核心,需要理解以下),每页条数是通过对象传进来的

以上,就能输出limit这一段

输出后,可以在index.php里调用

4、首页、上一页、下一页、尾页、总条数当天页数方法

首页:当前页不等于1,显示首页

上一页:当前页>1,显示上一页

下一页:当前页小于最大页数,显示下一页

尾页:当前页不等于尾页,显示尾页

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值