自定义分页类 php,php自定义分页类完整实例

本文实例讲述了php自定义分页类。分享给大家供大家参考,具体如下:

header("Content-type:text/html;Charset=utf-8");

class SubPages{

private $each_disNums;//每页显示的条目数

private $nums;//总条目数

private $current_page;//当前被选中的页

private $sub_pages;//每次显示的页数

private $pageNums;//总页数

private $page_array = array();//用来构造分页的数组

private $subPage_link;//每个分页的链接

//private $subPage_type;//显示分页的类型

/*

[email protected]_type=1的时候为普通分页模式

example: 共4523条记录,每页显示10条,当前第1/453页 [首页] [上页] [下页] [尾页]

[email protected]_type=2的时候为经典分页样式

example: 当前第1/453页 [首页] [上页] 1 2 3 4 5 6 7 8 9 10 [下页] [尾页]

*/

function __construct($each_disNums,$nums,$current_page,$sub_pages,$subPage_link){

$this->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);

}

// show_SubPages函数用在构造函数里面。而且用来判断显示什么样子的分页

/* function show_SubPages($subPage_type){

if($subPage_type == 1){

$this->subPageCss1();

}else if ($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 < $this->sub_pages){

$current_array=array();

for($i=0;$ipageNums;$i++){

$current_array[$i]=$i+1;

}

}else{

$current_array=$this->initArray();

if($this->current_page <= 3){

for($i=0;$i

current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages + 1 ){

for($i=0;$i

pageNums)-($this->sub_pages)+1+$i; } }else{ for($i=0;$i

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.="[首页] "; $subPageCss1Str.="[上一页] "; }else { $subPageCss1Str.="[首页] "; $subPageCss1Str.="[上一页] "; } if($this->current_page < $this->pageNums){ $lastPageUrl=$this->subPage_link.$this->pageNums; $nextPageUrl=$this->subPage_link.($this->current_page+1); $subPageCss1Str.=" [下一页] "; $subPageCss1Str.="[尾页] "; }else { $subPageCss1Str.="[下一页] "; $subPageCss1Str.="[尾页]"; } return $subPageCss1Str; //在此可以设置显示的CSS样式 } /* 构造经典模式的分页 当前第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.="[首页] "; $subPageCss2Str.="[上一页] "; }else { $subPageCss2Str.="[首页] "; $subPageCss2Str.="[上一页] "; } $a=$this->construct_num_Page(); for($i=0;$i

current_page ){ $subPageCss2Str.="[

".$s."]"; }else{ $url=$this->subPage_link.$s; $subPageCss2Str.="[".$s."]"; } } if($this->current_page < $this->pageNums){ $lastPageUrl=$this->subPage_link.$this->pageNums; $nextPageUrl=$this->subPage_link.($this->current_page+1); $subPageCss2Str.=" [下一页] "; $subPageCss2Str.="[尾页] "; }else { $subPageCss2Str.="[下一页] "; $subPageCss2Str.="[尾页] "; } return $subPageCss2Str; } } //使用如下 /*include('../mysql.php'); //每页显示的条数 $page_size=3; //总条目数 $sql=mysql_query("select * from `stu_info`"); $nums=mysql_num_rows($sql); //每次显示的页数 $sub_pages=10; //得到当前是第几页 if(!isset($_GET["p"])){ $pageCurrent=1; }else{ $pageCurrent=$_GET["p"]; } $subPages=new SubPages($page_size,$nums,$pageCurrent,$sub_pages,"page.php?p="); $page=$subPages->subPageCss2(); echo $page;//在此可以设置CSS样式 $ss=mysql_query("select * from `stu_info` limit ".$page_size*($pageCurrent-1).",".$page_size); while($row=mysql_fetch_array($ss)){ echo $row['stunum'].''.$row['stuname'].''.$row['clanum'].'

'; }*/ ?>

希望本文所述对大家PHP程序设计有所帮助。

以上就介绍了php自定义分页类完整实例,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值