A simple php pagination class code
Release: 2016-07-25 08:43:27
Original
938 people have browsed it
class Page { private $total; //Total number of records in the data table private $listRows; //Number of rows displayed per page private $limit; private $uri; private $ pageNum; //Number of pages private $config=array('header'=>"records", "prev"=>"previous page", "next"=>"next page", "first "=>"Home page", "last"=>"Last page");
private $listNum=8;
/*
* $total
* $listRows
*/
public function __construct($total, $ listRows=10, $pa=""){
$this->total=$total;
$this->listRows=$listRows;
$this->uri=$this->getUri($pa );
$this->page=!empty($_GET["page"]) ? $_GET["page"] : 1;
$this->pageNum=ceil($this->total/$ this->listRows);
$this->limit=$this->setLimit();
}
private function setLimit(){
return "Limit ".($this->page-1) *$this->listRows.", {$this->listRows}";
}
private function getUri($pa){
$url=$_SERVER["REQUEST_URI"].(strpos($_SERVER[ "REQUEST_URI"], '?')?'':"?").$pa;
echo $url;
$parse=parse_url($url);
if(isset($parse["query" ])){
parse_str($parse['query'],$params);
unset($params["page"]);
$url=$parse['path'].'?'.http_build_query($ params);
}
return $url;
}
private function __get($args){
if($args=="limit")
return $this->limit;
else
return null;
}
private function start(){
if($this->total==0)
return 0;
else
return ($this->page-1)*$this->listRows+1 ;
}
private function end(){
return min($this->page*$this->listRows,$this->total);
}
private function first(){
if( $this->page==1)
$html.='';
else
$html.=" {$this->config["first"]} ";
return $html;
}
private function prev(){
if($this->page= =1)
$html.='';
else
$html.=" {$this->config["prev"]} ";
return $html;
}
private function pageList(){
$linkPage= "";
$inum=floor($this->listNum/2);
for($i=$inum; $i>=1; $i--){
$page=$this-> ;page-$i;
if($page<1)
continue;
$linkPage.=" {$page} ";
}
$linkPage.=" {$this->page} ";
for($i=1; $i< =$inum; $i++){ $page=$this->page+$i;
if($page<=$this->pageNum)
$linkPage.=" {$page} ";
else
break;
}
return $linkPage;
}
private function next( ){
if($this->page==$this->pageNum)
$html.='';
else
$html.=" {$this->config["next"]} ";
return $html;
}
private function last(){
if($this->page==$this->pageNum)
$html.='';
else
$html.=" {$this->config["last"]} ";
return $html;
}
private function goPage(){
return ' ';
}
function fpage($display=array(0,1,2,3,4,5,6,7,8)){
$html[0]=" 共有{$this->total} {$this->config["header"]} ";
$html[1]=" 每页显示".($this->end()-$this->start()+1)." 条,本页{$this->start()}-{$this->end()} 条 ";
$html[2]=" {$this->page}/{$this->pageNum} 页 ";
$html[3]=$this->first();
$html[4]=$this->prev();
$html[5]=$this->pageList();
$html[6]=$this->next();
$html[7]=$this->last();
$html[8]=$this->goPage();
$fpage='';
foreach($display as $index){
$fpage.=$html[$index];
}
return $fpage;
}
}
复制代码
分页, php
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
2024-10-22 09:46:29
2024-10-13 13:53:41
2024-10-12 12:15:51
2024-10-11 22:47:31
2024-10-11 19:36:51
2024-10-11 15:50:41
2024-10-11 15:07:41
2024-10-11 14:21:21
2024-10-11 12:59:11
2024-10-11 12:17:31