• 技术文章 >php教程 >PHP源码

    PHP生成分页

    PHP中文网PHP中文网2016-05-26 08:19:05原创490
    一个非常好用的php生成分页的封装类

    <?php 
    class Page {
        private $total;
        private $pagesize;
        private $page;
        private $url;
        function Page($total,$pagesize,$page) {
             $this->total=$total;
             $this->pagesize=$pagesize;
             $this->page=$page;
             $this->url=$this->pageurl();
             
        }
        private function pageurl() {
             $url=$_SERVER["REQUEST_URI"];
             $url=eregi_replace('\?page=[0-9]+','',$url);
             $url=eregi_replace('\&page=[0-9]+','',$url);
             if(strpos ($url, "?")=="")
             { $url="".$url."?";}
             else{ $url="".$url."&";}
             Return $url;    
        }
        function pagehtml() {
            $count=$this->total/$this->pagesize;
            if(is_int($count)) {
                $pagecount=$count;
                 
            }else {
                $pagecount=(int)$count+1;
            }
            $html='<style type="text/css">.pager{margin:0; font-size:12px;}.pager span{ color:#FFF; background:#666;padding:2px 6px;margin:0 5px;border:1px solid #666;font:normal 12px/28px "宋体"; }.pager a{padding:2px 6px;background-color:#FFF; margin:0 5px; border:1px solid #666;color:#666; text-decoration:none;font:normal 12px/25px "宋体";}.pager a:hover{ padding:2px 6px;background-color:#FFF; margin:0 5px; border:1px solid #666;color:#FFF; background:#666;font:normal 12px/25px "宋体"; }.pager form select{ font:normal 13px/28px "宋体";}</style>';
            $html.="<form><p class='pager'>总计: ".$this->total.",&nbsp;每页:".$this->pagesize.",&nbsp;页数: ".$this->page.'/'.$pagecount.",&nbsp;";
            if($this->page-3>1) {
                $pagestar=$this->page-3;
            }else {
                $pagestar=1;
            }
             
            if($this->page+3<$pagecount)  
            {
                $pageend=$this->page+3;
            }else{
                $pageend=$pagecount;
            }
            if($this->page>1) {
                $html.='<a href='.$this->url.'page=1 >首 页</a>';
                $html.='<a href='.$this->url.'page='.($this->page-1).'>上一页</a>';
            }
            else {
                $html.='<span>首 页</span>';
                $html.='<span>上一页</span>';
                 
            }
            for($ii=$pagestar; $ii<=$pageend; $ii++) {
                if($ii<>$this->page) {
                $html.='<a href='.$this->url.'page='.$ii.'>'.$ii.'</a>'; 
                }
                 else {
                    $html.='<span>'.$ii.'</span>';
                 }
            }
            if($this->page<$pagecount) {
                 
                $html.='<a href='.$this->url.'page='.($this->page+1).'>下一页</a>';
                $html.='<a href='.$this->url.'page='.$pagecount.' >末 页</a>';
            }
            else {
                $html.='<span>下一页</span>';
                $html.='<span>末 页</span>';
                 
            }
            $html.="&nbsp;<select name='pa' onchange='javascript:window.location.href=this.options[this.selectedIndex].value'>";
            for($j=1;$j<=$pagecount;$j++)
            {
                 $html.="<option  value='".$this->url."page=".$j."'";
                 if($j==$this->page) {
                    $html.=' selected ';    
                 }
                 $html.=">".$j."</option>";
            }
            $html.="</select></p></form>";
             echo($html);
                 
            }
    }
      
    ?>
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP生成分页
    上一篇:Session Manager by Redis 下一篇:无限级分类信息格式化工具类-五种方式
    Web大前端开发直播班

    相关文章推荐

    • ZF框架Db类的一些遍历结果集和对表操作的最基本用法• JQuery中Bind()事件用法分析_jquery• 极简的创建文件夹函数 • PHP读取文本文件并逐行输出该行使用最多的字符串及对应次数• php用正则判断是否为数字的方法
    1/1

    PHP中文网