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