首页 > php代码 > php 简单简洁分页类

php 简单简洁分页类

<?php
/**
 *-------------------------翻页类----------------------*
 */
class PageClass {
    private $myde_count; //总记录数
    var $myde_size; //每页记录数
    private $myde_page; //当前页
    private $myde_page_count; //总页数
    private $page_url; //页面url
    private $page_i; //起始页
    private $page_ub; //结束页
    var $page_limit;
    function __construct($myde_count = 0, $myde_size = 1, $myde_page = 1, $page_url) //构造函数
    {
        $this->myde_count = $this->numeric($myde_count);
        $this->myde_size = $this->numeric($myde_size);
        $this->myde_page = $this->numeric($myde_page);
        $this->page_limit = ($this->myde_page * $this->myde_size) - $this->myde_size;
        $this->page_url = $page_url;
        if ($this->myde_page < 1) $this->myde_page = 1;
        if ($this->myde_count < 0) $this->myde_page = 0;
        $this->myde_page_count = ceil($this->myde_count / $this->myde_size);
        if ($this->myde_page_count < 1) $this->myde_page_count = 1;
        if ($this->myde_page > $this->myde_page_count) $this->myde_page = $this->myde_page_count;
        $this->page_i = $this->myde_page - 2;
        $this->page_ub = $this->myde_page + 2;
        if ($this->page_i < 1) {
            $this->page_ub = $this->page_ub + (1 - $this->page_i);
            $this->page_i = 1;
        }
        if ($this->page_ub > $this->myde_page_count) {
            $this->page_i = $this->page_i - ($this->page_ub - $this->myde_page_count);
            $this->page_ub = $this->myde_page_count;
            if ($this->page_i < 1) $this->page_i = 1;
        }
    }
    private function numeric($id) //判断是否为数字
    {
        if (strlen($id)) {
            if (!ereg("^[0-9]+$", $id)) {
                $id = 1;
            } else {
                $id = substr($id, 0, 11);
            }
        } else {
            $id = 1;
        }
        return $id;
    }
    private function page_replace($page) //地址替换
    {
        return str_replace("{page}", $page, $this->page_url);
    }
    private function myde_home() //首页
    {
        if ($this->myde_page != 1) {
            return "    <li class=\"page_a\"><a href=\"" . $this->page_replace(1) . "\"  title=\"首页\" >首页</a></li>\n";
        } else {
            return "    <li>首页</li>\n";
        }
    }
    private function myde_prev() //上一页
    {
        if ($this->myde_page != 1) {
            return "    <li class=\"page_a\"><a href=\"" . $this->page_replace($this->myde_page - 1) . "\"  title=\"上一页\" >上一页</a></li>\n";
        } else {
            return "    <li>上一页</li>\n";
        }
    }
    private function myde_next() //下一页
    {
        if ($this->myde_page != $this->myde_page_count) {
            return "    <li class=\"page_a\"><a href=\"" . $this->page_replace($this->myde_page + 1) . ""title = "下一页\" >下一页</a></li>\n";
        } else {
            return "    <li>下一页</li>n";
        }
    }
    private function myde_last() //尾页
    {
        if ($this->myde_page != $this->myde_page_count) {
            return "    <li class="page_a"><a href=\"" . $this->page_replace($this->myde_page_count) . "\"  title=\"尾页\" >尾页</a></li>n";
        } else {
            return "    <li>尾页</li>\n";
        }
    }
    function myde_write($id = 'page') //输出
    {
        $str = "<div id=\"" . $id . "\" class=\"pages\">\n<ul>\n  ";
        $str.= "  <li>总记录:<span>" . $this->myde_count . "</span></li>\n";
        $str.= "    <li><span>" . $this->myde_page . "</span>/<span>" . $this->myde_page_count . "</span></li>\n";
        $str.= $this->myde_home();
        $str.= $this->myde_prev();
        for ($page_for_i = $this->page_i; $page_for_i <= $this->page_ub; $page_for_i++) {
            if ($this->myde_page == $page_for_i) {
                $str.= "    <li class=\"on\">" . $page_for_i . "</li>\n";
            } else {
                $str.= "<li class=\"page_a\"><a href=\"" . $this->page_replace($page_for_i) . "\" title=\"第" . $page_for_i . "页\">";
                $str.= $page_for_i . "</a></li>\n";
            }
        }
        $str.= $this->myde_next();
        $str.= $this->myde_last();
        $str.= "<li class=\"pages_input\"><input type=\"text\" value=\"" . $this->myde_page . "\"";
        $str.= " onkeydown=\"javascript: if(event.keyCode==13){ location='";
        $str.= $this->page_replace("'+this.value+'") . "';return false;}\"";
        $str.= " title=\"输入您想要到达的页码\"/></li>\n";
        $str.= " </ul>\n<div class=\"page_clear\"></div>\n</div>";
        return $str;
    }
}
/*-------------------------实例--------------------------------*
$page = new PageClass(1000,5,$_GET['page'],'?page={page}');//用于动态
$page = new PageClass(1000,5,$_GET['page'],'list-{page}.html');//用于静态或者伪静态
$page -> myde_write();//显示
*/


文章网址:http://www.phprm.com/code/00b7b986040980846f173bcc63bd081f.html

随意转载^^但请附上教程地址。

标签:none

发表留言