这事一个分页链接的类,高人们过目

aessjz 2009-01-06 03:01:15
<?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; //显示分页的类型

//基本属性赋值
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=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;
}


function __destruct(){
unset($each_disNums);
unset($nums);
unset($current_page);
unset($sub_pages);
unset($pageNums);
unset($page_array);
unset($subPage_link);
unset($subPage_type);
}
//选择CSS样式
function show_SubPages($subPage_type){
if($subPage_type == 1){
$this->subPageCss1();
}elseif ($subPage_type == 2){
$this->subPageCss2();
}elseif ($subPage_type == 3){
$this->subPageCss3();
}
}

//给分页数组赋值
function initArray(){
for($i=0;$i<$this->sub_pages;$i++){
$this->page_array[$i]=$i;
}
return $this->page_array;
}


function construct_num_Page(){
//如果总页数小于每次显示的页数
//则当前的分页数组等于自算后的大小
if($this->pageNums < $this->sub_pages){
$current_array=array();
for($i=0;$i<$this->pageNums;$i++){
$current_array[$i]=$i+1;
}
}
//否则等于默认的分页数组
else{
$current_array=$this->initArray();

//判断页码所在的位置,来循环新的分页数组
if($this->current_page <= 3){
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=$i+1;
}
}elseif ($this->current_page <= $this->pageNums && $this->current_page > $this->pageNums - $this->sub_pages + 1 ){
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=($this->pageNums)-($this->sub_pages)+1+$i;
}
}else{
for($i=0;$i<count($current_array);$i++){
$current_array[$i]=$this->current_page-2+$i;
}
}
}
return $current_array;
}
//返回页码数组 后加的,可以用来在模版自定义风格
function subPageArray(){
$pages[firstPage]= 1; //首页
$pages[curent_page] = $this->current_page;//当前页
$pages[prewPage]=$this->current_page-1;//上一页
$pages[nextPage]=$this->current_page+1;//下一页
$pages[page_nums] = $this->pageNums;//尾页
$a=$this->construct_num_Page();
for($i=0;$i<count($a);$i++){
$pages['list'][($i+1)]=$a[$i];
}
return $pages;
}

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.="[<a href='$firstPageUrl'>首页</a>] ";
$subPageCss1Str.="[<a href='$prewPageUrl'>上一页</a>] ";
}else {
$subPageCss1Str.="[首页] ";
$subPageCss1Str.="[上一页] ";
}
if($this->current_page < $this->pageNums){
$lastPageUrl=$this->subPage_link.$this->pageNums;
$nextPageUrl=$this->subPage_link.($this->current_page+1);
$subPageCss1Str.=" [<a href='$nextPageUrl'>下一页</a>] ";
$subPageCss1Str.="[<a href='$lastPageUrl'>尾页</a>] ";
}else {
$subPageCss1Str.="[下一页] ";
$subPageCss1Str.="[尾页] ";
}
return $subPageCss1Str;
}
}

$aac=new SubPages(5,50,2,6);
$acc->subPageCss1();

?>

基本都看懂了,但是还有两个地方
1,$subPage_link;到底是什么东西,我都不知道该赋什么值
2,
function show_SubPages($subPage_type){
if($subPage_type == 1){
$this->subPageCss1();
}elseif ($subPage_type == 2){
$this->subPageCss2();
}elseif ($subPage_type == 3){
$this->subPageCss3();
}
}

这个函数里有subPageCss2,subPageCss3,可是我怎么没有看到这两个方法
...全文
54 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
frederic_zhao 2009-01-06
  • 打赏
  • 举报
回复
1,$subPage_link是你的请求列表的链接,举个例子:
http://localhost/list.php?key=key&page= 这样subPageCss1方法会在后面加条件
2,你的那个类里面根本没有subPageCss2,subPageCss3这两个方法啊?!
luobo525 2009-01-06
  • 打赏
  • 举报
回复
$subPage_link 是分页链接的前面部分 如你传入 /article.php?name=xxx&page=
分页链接:
/article.php?name=xxx&page=1
/article.php?name=xxx&page=2
...

iasky 2009-01-06
  • 打赏
  • 举报
回复
mark

21,890

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧