offset=$offset; //记录指针 $p->total=100; //总记录数 ////以下参数可以默认 $p->page_size=20; //每页显示记录数 $p->show_page_num=7; //7,9,11 $p->path=$_SERVER[PHP_SELF]; //跳转地址 $p->arr_var=array("a"=>$a,"b"=>$b,"c"=>$c); //要传递的其他参数 ////输出 echo $p->show(); ***********************************************/ class page{ var $total,$offset,$page_size,$arr_var,$style,$show_page_num; //显示 function show(){ $page_size=($this->page_size)?($this->page_size):20; $show_page_num=($this->show_page_num)?($this->show_page_num):9; $offset=($this->offset)?($this->offset):0; $style=($this->style)?($this->style):1; $path=$this->path; if($style==1){ $color1="#000000"; $color2="#666666"; }else{ $color1="#ffffff"; $color2="#cccccc"; } $total=$this->total; $arr_var=$this->arr_var; if(is_array($arr_var)){ foreach($arr_var as $key=>$value){ $other_var.="&".$key."=".urlencode($value); } } // $total_page_num=ceil($total/$page_size); $this_page=$offset>0?$offset/$page_size+1:1; $r_str.=" 总计".$total."条/".$total_page_num."页  "; //pre page $pre_offset=($this_page-2)*$page_size; if($this_page>1) $r_str.="‹‹  "; else $r_str.="‹‹  "; if($total_page_num>$show_page_num){ $p_middle1=$this_page-($show_page_num-3)/2; $p_middle2=$this_page+($show_page_num-3)/2; //first page if($p_middle1<=0){ $p_middle2=$p_middle2-$p_middle1+1; $p_middle1=1; } $r_first_page=""; if($p_middle1>0){ if($p_middle1>1){ $r_first_page.="1...  "; }else{ if($this_page==1) $r_first_page.="".$this_page."  "; else $r_first_page.="1  "; } } $r_str.=$r_first_page; $tmp=$p_middle2-$total_page_num; if($tmp>0){ $p_middle2=$total_page_num; $p_middle1=$p_middle1-$tmp; } //middle page for($p=$p_middle1;$p<=$p_middle2;$p++){ if($p>1 && $p<=$total_page_num){ if($p==$this_page) $r_str.="".$p."  "; else $r_str.="".$p."  "; } } //last page if($total_page_num>$p_middle2){ $r_last_page=""; if($p_middle2<=$total_page_num-1){ $r_last_page.="...".$total_page_num."  "; }else{ if($this_page==$total_page_num) $r_last_page.="".$this_page."  "; else $r_last_page.="".$total_page_num."  "; } $r_str.=$r_last_page; } }else{ for($p=1;$p<=$total_page_num;$p++){ if($this_page==$p) $r_str.="".$this_page."  "; else $r_str.="".$p."  "; } } //next page $next_offset=$this_page*$page_size; if($this_page<$total_page_num) $r_str.="››  "; else $r_str.="››  "; //form $r_str.="转到 第0 && this.value<=".$total_page_num.") window.location='".$path."?offset='+((this.value-1)*".$page_size.")+'".$other_var."';\" value=''>页"; return $r_str; } } ////////////////// 分页类结束 ?>