?php class subpages{ private $each_disnums;//每页显示的条目数 private $nums;//总条目数 private $current_page;//当前被选中的页 private $sub_pages;//每次显示的页数 private $pagenums;//总页数 private $page_array = array();//用来构造分页的数组
each_disnums=intval($each_disnums);
$this->nums=intval($nums);
if(!$current_page){
$this->current_page=1;
}else{
$this->current_page=intval($current_page);
}
$this->sub_pages=intval($sub_pages);
$this->pagenums=ceil($nums/$each_disnums);
$this->subpage_link=$subpage_link;
$this->show_subpages($subpage_type);
//echo $this->pagenums.--.$this->sub_pages;
}
/*
__destruct析构函数,当类不在使用的时候调用,该函数用来释放资源。
*/
function __destruct(){
unset($each_disnums);
unset($nums);
unset($current_page);
unset($sub_pages);
unset($pagenums);
unset($page_array);
unset($subpage_link);
unset($subpage_type);
}
/*
show_subpages函数用在构造函数里面。而且用来判断显示什么样子的分页
*/
function show_subpages($subpage_type){
if($subpage_type == 1){
$this->subpagecss1();
}elseif ($subpage_type == 2){
$this->subpagecss2();
}
}
/*
用来给建立分页的数组初始化的函数。
*/
function initarray(){
for($i=0;$isub_pages;$i++){
$this->page_array[$i]=$i;
}
return $this->page_array;
}
/*
construct_num_page该函数使用来构造显示的条目
即使:[1][2][3][4][5][6][7][8][9][10]
*/
function construct_num_page(){
if($this->pagenums sub_pages){
$current_array=array();
for($i=0;$ipagenums;$i++){
$current_array[$i]=$i+1;
}
}else{
$current_array=$this->initarray();
if($this->current_page for($i=0;$i $current_array[$i]=$i+1;
}
}elseif ($this->current_page pagenums && $this->current_page > $this->pagenums - $this->sub_pages + 1 ){
for($i=0;$i $current_array[$i]=($this->pagenums)-($this->sub_pages)+1+$i;
}
}else{
for($i=0;$i $current_array[$i]=$this->current_page-2+$i;
}
}
}
return $current_array;
}
/*
构造普通模式的分页
共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]
*/
function subpagecss1(){
$subpagecss1str=;
$subpagecss1str.=共.$this->nums.条记录,;
$subpagecss1str.=每页显示.$this->each_disnums.条,;
$subpagecss1str.=当前第.$this->current_page./.$this->pagenums.页 ;
if($this->current_page > 1){
$firstpageurl=$this->subpage_link.1;
$prewpageurl=$this->subpage_link.($this->current_page-1);
$subpagecss1str.=[首页] ;
}else {
$subpagecss1str.=[首页] ;
}
if($this->current_page pagenums){
$lastpageurl=$this->subpage_link.$this->pagenums;
$nextpageurl=$this->subpage_link.($this->current_page+1);
$subpagecss1str.=[尾页] ;
}else {
$subpagecss1str.=[尾页] ;
}
echo $subpagecss1str;
}
/*
构造经典模式的分页
当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]
*/
function subpagecss2(){
$subpagecss2str=;
$subpagecss2str.=当前第.$this->current_page./.$this->pagenums.页 ;
if($this->current_page > 1){
$firstpageurl=$this->subpage_link.1;
$prewpageurl=$this->subpage_link.($this->current_page-1);
$subpagecss2str.=首页 ;
}else {
$subpagecss2str.=首页 ;
}
$a=$this->construct_num_page();
for($i=0;$i $s=$a[$i];
if($s == $this->current_page ){
$subpagecss2str.=.$s.;
}else{
$url=$this->subpage_link.$s;
$subpagecss2str.=.$s.;
}
}
if($this->current_page pagenums){
$lastpageurl=$this->subpage_link.$this->pagenums;
$nextpageurl=$this->subpage_link.($this->current_page+1);
$subpagecss2str.=尾页;
}else {
$subpagecss2str.=尾页 ;
}
echo $subpagecss2str;
}
}
?>
页面实现