php分页类

<?php
    //需求
        //类名: Page
        //参数
        // 1数据的总数  2.每页显示的数量
        // 功能 
        // 1.获取limit参数
        // 方法名:  getLimit  
 
        // 2.获取页码信息
        // 方法名: show
    header('content-type:text/html;charset=utf-8');
    class Page{
        //成员属性
        public $total = 0;
        public $num = 10;
 
        //构造方法
        public function __construct($total,$num){
            $this->total = $total;
            $this->num = $num;
        }
 
        //获取limit参数   1  0,9   2  9,9  3  18,9   n (n-1)*9, 9
        public function getLimit(){
            //获取当前页码
            $p = isset($_GET['p']) ? $_GET['p'] : 1;
            //获取开始limit值
            $start = ($p-1)*$this->num;
            //获取结尾
            $end = $this->num;
            //获取limit参数
            $limit = $start.",".$end;
            //返回参数
            return $limit;
        }
 
        //1 2 3 4 5 6 7
        public function show(){
            //获取当前的页码
            $p = isset($_GET['p']) ? $_GET['p'] : 1;
            //获取当前请求的脚本的绝对路径
            $u = $_SERVER['SCRIPT_NAME'];
 
            //获取当前总的页码数
            $totalPage = ceil($this->total/$this->num);//ceil 天花板  floor地板
            //声明空的字符串
            $url = "";
            //首页字符串
            $url .= "<a href='".$u."?p=1'>首页</a>";
            //上一页
            //判断越界
            if($p>1){
                $url .= "<a href='".$u."?p=".($p-1)."'><<</a>" ;
            }else{
                $url .= "<a href='".$u."?p=1'><<</a>" ;
            }
 
            //循环遍历  <a href="Page.class.php?p=1">1</a>  <a href="Page.class.php?p=2">2</a>
            for($i=1;$i<=$totalPage;$i++){
                if($p == $i){//如果是当前页的话
                    $url .= '<a href="'.$u.'?p='.$i.'" class="current">'.$i.'</a>  ';
                }else{
                    $url .= '<a href="'.$u.'?p='.$i.'">'.$i.'</a>  ';
                }
            }
 
            //下一页
            //检测越界
            if($p >= $totalPage){
                $url .= "<a href='".$u."?p=".$totalPage."'>>></a>" ;
            }else{
                $url .= "<a href='".$u."?p=".($p+1)."'>>></a>" ;
            }
 
            //末页
            $url .= "<a href='".$u."?p=".$totalPage."'>末页</a>";
 
            return $url;
        }
    }
    //实例化对象
    // $page = new Page(100, 9);//11.1111111
    //调用获取limit参数的方法
    // $l = $page->getLimit();
 
    //调用方法
    // $page->show();
 
 ?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值