分页(php代码)简

<?php 

    /**
    *
    *    分页类
    */
    class Page
    {
        public $num;    //每页几条
        public $total;    //总条数
        public $p;        //当前页数

        //构造方法
        public function __construct($total, $num)
        {
            $this->total = $total;
            $this->num = $num;
            //默认为第一页
            $this->p = isset($_GET['p']) ? $_GET['p'] : 1;

        }

        /**
        *    获取limit  1 0,5 2 5,5  3 10,5  4 15,5
        */
        public function getLimit()
        {
            $start = ($this->p-1)*$this->num;

            $end = $this->num;

            $limit = $start.','.$end;

            return $limit;
        }

        /**
        *    显示页码  上一页  1234567  下一页
        */
        public function show()
        {
             echo '<pre>';
            // var_dump($_SERVER['HTTP_REFERER']);  

            $url = $_SERVER['SCRIPT_NAME'];

            //总页数     
            $totalPage = ceil($this->total/$this->num);


            if ($this->p <= 1) {

                $prev = 1;
            } else {

                $prev = $this->p-1;
            }
            //上一页
            $str = '';
            $str .= "<a href='$url?p=".$prev."'>上一页</a>";


            //1234567891011
            for ($i=1; $i <= $totalPage; $i++) { 
                
                if($i == $this->p) {

                    $str .= "<a href='$url?p={$i}' style='color:red'>第{$i}页</a>";
                } else {

                    $str .= "<a href='$url?p={$i}'>第{$i}页</a>";

                }
            }

            //下一页
            if($this->p >= $totalPage) {

                $next = $totalPage;
            } else {

                $next = $this->p+1;
            }

            $str .= "<a href='$url?p=".$next."'>下一页</a>";

            return $str;
        }


    }

    //实例化对象
    //$page = new Page(38,5);

    // $page->getLimit();

    //echo $page->show();

 

posted @ 2017-01-10 21:07  虚镜  阅读(167)  评论(0编辑  收藏  举报