page.php

<?
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>&nbsp; ' ;
                                              }
                          
if ( $current_page > 1 ) {
                                              
$this -> output .= ' <a href= ' . $this -> file . $split . $this -> pagestr . ' = ' . ( $current_page - 1 ) . '  title="上一页">上一页</a>&nbsp; ' ;
                                              }
                          
$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>]&nbsp; ' ;
                                 }

                              }
                          
if ( $current_page < $this -> total_page){
                                                             
$this -> output .= ' <a href= ' . $this -> file . $split . $this -> pagestr . ' = ' . ( $current_page + 1 ) . '  title="下页">下页</a>&nbsp; ' ;
                                                             }

                          
if (( $this -> total_page - $current_page ) >= 10 ){
                                                                   
$this -> output .= ' <a href= ' . $this -> file . $split . $this -> pagestr . ' = ' . ( $current_page + 10 ) . '  title="显示后10页">后10页</a>&nbsp; ' ;
                                                                   }

                          }
                          
else   $this -> output = " &nbsp; " ;

         }
 
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 );
 }
}
?>

转载于:https://www.cnblogs.com/qiantuwuliang/archive/2009/07/24/1529944.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值