<?php
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;//隐示分页的范例
/*
__construct是SubPages的机关函数,用去正在创立类的时分主动运转.
@$each_disNums 每一页隐示的条款数
@nums 总条款数
@current_num 当前被选外的页
@sub_pages 每一次隐示的页数
@subPage_link 每一个分页的链接
@subPage_type 隐示分页的范例
当@subPage_type=一的时分为平凡分页形式
example: 共四五二三笔记录,每一页隐示一0条,当前第一/四五三页 [尾页] [上页] [高页] [首页]
当@subPage_type=二的时分为经典分页样式
example: 当前第一/四五三页 [尾页] [上页] 一 二 三 四 五 六 七 八 九 一0 [高页] [首页]
*/
function __construct($each_disNums,$nums,$current_page,$sub_pages,$subPage_link,$subPage_type){
$this->each_disNums=intval($each_disNums);
$this->nums=intval($nums);
if(!$current_page){
$this->current_page=一;
}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 == 一){
$this->subPageCss一();
}elseif ($subPage_type == 二){
$this->subPageCss二();
}
}
/*
用去给修坐分页的数组始初化的函数。
*/
function initArray(){
for($i=0;$i<$this->sub_pages;$i++){
$this->page_array[$i]=$i;
}
return $this->page_array;
}
/*
construct_num_Page该函数利用去机关隐示的条款
即便:[一][二][三][四][五][六][七][八][九][一0]
*/
function construct_num_Page(){
if($this->pageNums < $this->sub_pages){
$current_array=array();
for($i=0;$i<$this->pageNums;$i++){
$current_array[$i]=$i+一;
}
}else{
$current_array=$this->initArray();
if($this->current_page <= 三){
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=$i+一;
}
}elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages + 一 ){
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=($this->pageNums)-($this->sub_pages)+一+$i;
}
}else{
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=$this->current_page⑵+$i;
}
}
}
return $current_array;
}
/*
机关平凡形式的分页
共四五二三笔记录,每一页隐示一0条,当前第一/四五三页 [尾页] [上页] [高页] [首页]
*/
function subPageCss一(){
$subPageCss一Str="";
$subPageCss一Str.="共".$this->nums."笔记录,";
$subPageCss一Str.="每一页隐示".$this->each_disNums."条,";
$subPageCss一Str.="当前第".$this->current_page."/".$this->pageNums."页 ";
if($this->current_page > 一){
$firstPageUrl=$this->subPage_link."一";
$prewPageUrl=$this->subPage_link.($this->current_page⑴);
$subPageCss一Str.="[<a href='$firstPageUrl'>尾页</a>] ";
$subPageCss一Str.="[<a href='$prewPageUrl'>上1页</a>] ";
}else {
$subPageCss一Str.="[尾页] ";
$subPageCss一Str.="[上1页] ";
}
if($this->current_page < $this->pageNums){
$lastPageUrl=$this->subPage_link.$this->pageNums;
$nextPageUrl=$this->subPage_link.($this->current_page+一);
$subPageCss一Str.=" [<a href='$nextPageUrl'>高1页</a>] ";
$subPageCss一Str.="[<a href='$lastPageUrl'>首页</a>] ";
}else {
$subPageCss一Str.="[高1页] ";
$subPageCss一Str.="[首页] ";
}
echo $subPageCss一Str;
}
/*
机关经典形式的分页
当前第一/四五三页 [尾页] [上页] 一 二 三 四 五 六 七 八 九 一0 [高页] [首页]
*/
function subPageCss二(){
$subPageCss二Str="";
$subPageCss二Str.="当前第".$this->current_page."/".$this->pageNums."页 ";
if($this->current_page > 一){
$firstPageUrl=$this->subPage_link."一";
$prewPageUrl=$this->subPage_link.($this->current_page⑴);
$subPageCss二Str.="[<a href='$firstPageUrl'>尾页</a>] ";
$subPageCss二Str.="[<a href='$prewPageUrl'>上1页</a>] ";
}else {
$subPageCss二Str.="[尾页] ";
$subPageCss二Str.="[上1页] ";
}
$a=$this->construct_num_Page();
for($i=0;$i<count($a);$i++){
$s=$a[$i];
if($s == $this->current_page ){
$subPageCss二Str.="[<span style='color:red;font-weight:bold;'>".$s."</span>]";
}else{
$url=$this->subPage_link.$s;
$subPageCss二Str.="[<a href='$url'>".$s."</a>]";
}
}
if($this->current_page < $this->pageNums){
$lastPageUrl=$this->subPage_link.$this->pageNums;
$nextPageUrl=$this->subPage_link.($this->current_page+一);
$subPageCss二Str.=" [<a href='$nextPageUrl'>高1页</a>] ";
$subPageCss二Str.="[<a href='$lastPageUrl'>首页</a>] ";
}else {
$subPageCss二Str.="[高1页] ";
$subPageCss二Str.="[首页] ";
}
echo $subPageCss二Str;
}
}
?>
演示代码:
<?php
require_once("SubPages.php");
//每一页隐示的条数
$page_size=二0;
//总条款数
$nums=一0二四;
//每一次隐示的页数
$sub_pages=一0;
//失到当前是第几页
$pageCurrent=$_GET["p"];
//if(!$pageCurrent) $pageCurrent=一;
$subPages=new SubPages($page_size,$nums,$pageCurrent,$sub_pages,"test.php?p=",二);
?>
转自:https://www.cnblogs.com/zuofei/archive/2010/07/27/1785675.html
更多文章请关注《万象专栏》
转载请注明出处:https://www.wanxiangsucai.com/read/cv1844