<?
class page{
var $output;
var $file;
var $pagestr = "page";
var $perpage;
var $current_page;
var $send_str;
var $total_page;
var $page_start;
var $page_end;
var $total;
function sendstr($data){
foreach($data as $k=>$v)
{
$j++;
if($j==1)$this->send_str.='?'.$k.'='.urlencode($v);
else $this->send_str.='&'.$k.'='.urlencode($v);
}
return $this->send_str;
}
function set($perpage,$total,$current_page = false)
{
global $HTTP_SERVER_VARS,$HTTP_GET_VARS;
if($total<$perpage){$this->total_page = 1;}
elseif(($total%$perpage)!= 0){$this->total_page = ceil($total/$perpage);}
else {$this->total_page = intval($total/$perpage);}
if(!$current_page or $current_page<1){$current_page = 1;}
else{$current_page = $HTTP_GET_VARS[$this->pagestr];}
$this->perpage = $perpage;
$this->current_page = $current_page;
$this->total = $total;
if(!$this->file){$this->file = $HTTP_SERVER_VARS['PHP_SELF'] ? $HTTP_SERVER_VARS['PHP_SELF'] : $HTTP_SERVER_VARS['SCRIPT_NAME'];}
$this->file.=$this->send_str;
strstr($this->file,'?') ? $split = '&' : $split = '?';
if($this->total_page>1){
$this->output.='共<font color=red><b>'.$total.'</b></font>条记录 每页显示<font color=red>'.$perpage.'</font>条 ';
if($current_page>10){
$this->output.='<a href='.$this->file.$split.$this->pagestr.'='.($current_page-10).' title="显示前10页">前10页</a> ';
}
if($current_page>1) {
$this->output.='<a href='.$this->file.$split.$this->pagestr.'='.($current_page-1).' title="上一页">上一页</a> ';
}
$start = floor($current_page/10)*10;
$end=$start+9;
if($start<1)$start = 1;
if($end>$this->total_page)$end = $this->total_page;
for($i=$start;$i<=$end;$i++)
{
if($current_page==$i){
$this->output.='<font color=red>'.$i.' </font>';
}
else{
$this->output.='[<a href='.$this->file.$split.$this->pagestr.'='.$i.'>'.$i.'</a>] ';
}
}
if($current_page<$this->total_page){
$this->output.='<a href='.$this->file.$split.$this->pagestr.'='.($current_page+1).' title="下页">下页</a> ';
}
if(($this->total_page-$current_page)>=10){
$this->output.='<a href='.$this->file.$split.$this->pagestr.'='.($current_page+10).' title="显示后10页">后10页</a> ';
}
}
else $this->output=" ";
}
function limit(){
return (($this->current_page-1)*$this->perpage.','.$this->perpage);
}
function get_start_end(){
$begin=($this->current_page-1)*$this->perpage;
$end=$this->total-$begin-$this->perpage;
if($end<0)$end=0;
$start=$this->total-$begin-1;
return array('start'=>$start,'end'=>$end);
}
}
?>
class page{
var $output;
var $file;
var $pagestr = "page";
var $perpage;
var $current_page;
var $send_str;
var $total_page;
var $page_start;
var $page_end;
var $total;
function sendstr($data){
foreach($data as $k=>$v)
{
$j++;
if($j==1)$this->send_str.='?'.$k.'='.urlencode($v);
else $this->send_str.='&'.$k.'='.urlencode($v);
}
return $this->send_str;
}
function set($perpage,$total,$current_page = false)
{
global $HTTP_SERVER_VARS,$HTTP_GET_VARS;
if($total<$perpage){$this->total_page = 1;}
elseif(($total%$perpage)!= 0){$this->total_page = ceil($total/$perpage);}
else {$this->total_page = intval($total/$perpage);}
if(!$current_page or $current_page<1){$current_page = 1;}
else{$current_page = $HTTP_GET_VARS[$this->pagestr];}
$this->perpage = $perpage;
$this->current_page = $current_page;
$this->total = $total;
if(!$this->file){$this->file = $HTTP_SERVER_VARS['PHP_SELF'] ? $HTTP_SERVER_VARS['PHP_SELF'] : $HTTP_SERVER_VARS['SCRIPT_NAME'];}
$this->file.=$this->send_str;
strstr($this->file,'?') ? $split = '&' : $split = '?';
if($this->total_page>1){
$this->output.='共<font color=red><b>'.$total.'</b></font>条记录 每页显示<font color=red>'.$perpage.'</font>条 ';
if($current_page>10){
$this->output.='<a href='.$this->file.$split.$this->pagestr.'='.($current_page-10).' title="显示前10页">前10页</a> ';
}
if($current_page>1) {
$this->output.='<a href='.$this->file.$split.$this->pagestr.'='.($current_page-1).' title="上一页">上一页</a> ';
}
$start = floor($current_page/10)*10;
$end=$start+9;
if($start<1)$start = 1;
if($end>$this->total_page)$end = $this->total_page;
for($i=$start;$i<=$end;$i++)
{
if($current_page==$i){
$this->output.='<font color=red>'.$i.' </font>';
}
else{
$this->output.='[<a href='.$this->file.$split.$this->pagestr.'='.$i.'>'.$i.'</a>] ';
}
}
if($current_page<$this->total_page){
$this->output.='<a href='.$this->file.$split.$this->pagestr.'='.($current_page+1).' title="下页">下页</a> ';
}
if(($this->total_page-$current_page)>=10){
$this->output.='<a href='.$this->file.$split.$this->pagestr.'='.($current_page+10).' title="显示后10页">后10页</a> ';
}
}
else $this->output=" ";
}
function limit(){
return (($this->current_page-1)*$this->perpage.','.$this->perpage);
}
function get_start_end(){
$begin=($this->current_page-1)*$this->perpage;
$end=$this->total-$begin-$this->perpage;
if($end<0)$end=0;
$start=$this->total-$begin-1;
return array('start'=>$start,'end'=>$end);
}
}
?>