<?php
header("Content-Type:text/html;charset=utf-8");
class Page{
public $total;
public $page_size;
public $total_page;
public $cur_page;
function __construct($total,$page_size){
$this->total = $total;
$this->page_size = $page_size;
$this->total_page = $this->getTotalPage();
$this->cur_page = $this->getCurPage();
}
function pages(){
echo "共".$this->total_page."页
当前第".$this->cur_page."页 "
.$this->flist()
.$this->listNum()
.$this->llist();
}
private function getTotalPage(){
$total_page = ceil($this->total/$this->page_size);
return $total_page;
}
private function getCurPage(){
$cur_page = isset($_GET['p'])?$_GET['p']:1;
if($cur_page<1){
$cur_page=1;
}else if($cur_page>$this->total_page&&$this->total_page!=0){
$cur_page=$this->total_page;
}
return $cur_page;
}
private function listNum(){
$num = 3;
$lists = "";
for($i=$num;$i>=1;$i--){
$n = $this->cur_page-$i;
if($n>=1){
$lists.=" <a href='?p=".$n."'>$n</a> ";
}
}
$lists .= " ".$this->cur_page." ";
for($i=1;$i<=$num;$i++){
$n = $this->cur_page+$i;
if($n<=$this->total_page){
$lists.=" <a href='?p=".$n."'>$n</a> ";
}
}
return $lists;
}
private function flist(){
$prev = $this->cur_page-1;
$lists = "";
if($prev>=1){
$lists = "<a href='?p=1'>首页</a>
<a href='?p=".$prev."'>上一页</a>";
}
return $lists;
}
private function llist(){
$next = $this->cur_page+1;
$lists = "";
if($next<=$this->total_page){
$lists = " <a href='?p=".$next."'>下一页</a>
<a href='?p=".$this->total_page."'>尾页</a>";
}
return $lists;
}
}
$total = 52;
$page_size = 5;
$p = new Page($total,$page_size);
$p->pages();