PHP生成分页
程序员文章站
2022-05-24 22:24:11
...
一个非常好用的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.", 每页:".$this->pagesize.", 页数: ".$this->page.'/'.$pagecount.", "; 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.=" <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); } } ?>