调用

<?php
$pageNav = new pageNav(  $page , $totalPages ) ;
$link = "search.php";
$pageNav->link_expression = array(
    
'startPage'=>"{{link}}.php?so=$so",
    
'prePage'=>"{{link}}?so=$so&p={{pre_page}}",
    
'nextPage'=>"{{link}}?so=$so&p={{next_page}}",
    
'endPage'=> "{{link}}?so=$so&p={{end_page}}",
    
'selectPage'=> "'{{link}}?so=$so&p='+this.value"
);

$pageLinks=$pageNav->getPagesLinks( $link );
$pageCounter=$pageNav->getPagesCounter( $link );
//echo $pageLinks . $pageCounter;echot($pageLinks );echot($pageCounter );
?>




分页类[v0.1]<?php
分页类[v0.1]
/**
分页类[v0.1]* Page navigation class
分页类[v0.1]* bailing
分页类[v0.1]* 2006-11-03
分页类[v0.1]
*/
分页类[v0.1]
class pageNav {
分页类[v0.1]    
var $page = null;
分页类[v0.1]    
var $totalPages = null;
分页类[v0.1]    
var $link_expression = array(
分页类[v0.1]    
'startPage'=>"{{link}}.html",
分页类[v0.1]    
'prePage'=>'{{link}}_{{pre_page}}.html',
分页类[v0.1]    
'nextPage'=>'{{link}}_{{next_page}}.html',
分页类[v0.1]    
'endPage'=> "{{link}}_{{end_page}}.html",
分页类[v0.1]    
'selectPage'=> "'{{link}}_'+this.value+'.html'"
分页类[v0.1]    );
分页类[v0.1]
分页类[v0.1]    
function pageNav(  $page , $totalPages ) {
分页类[v0.1]        
$this->totalPages = intval$totalPages );
分页类[v0.1]        
$this->page = min($totalPages , $page);
分页类[v0.1]    }
分页类[v0.1]
分页类[v0.1]    
function writePagesCounter() {
分页类[v0.1]        
echo $this->getPagesCounter();
分页类[v0.1]    }
分页类[v0.1]
分页类[v0.1]    
function getPagesCounter($link)
分页类[v0.1]    {
分页类[v0.1]        
$html = '';
分页类[v0.1]        
if ($this->totalPages > 0) {
分页类[v0.1]            
$html .= "\n 第 " . $this->page . "/" . $this->totalPages ." 页";
分页类[v0.1]            
$html .=$this->getPagesLimitBox($link);
分页类[v0.1]        } 
else {
分页类[v0.1]            
$html .= "\n没有记录";
分页类[v0.1]        }
分页类[v0.1]        
return $html;
分页类[v0.1]    }    
分页类[v0.1]
分页类[v0.1]    
function getPagesLimitBox($link)
分页类[v0.1]    {
分页类[v0.1]        
$html = '';
分页类[v0.1]        
if ( $this->totalPages > 0) {
分页类[v0.1]            
$selectPageLink = preg_replace("#\{\{([^\}][^\}]+)\}\}#e", "$\\1",$this->link_expression['selectPage']);
分页类[v0.1]
分页类[v0.1]            
$select = "<select name='' onchange=\"document.location.href=". $selectPageLink ."\">";
分页类[v0.1]            
$n = $this->totalPages;
分页类[v0.1]            
for ($i=1;$i<=$n ;$i++ )
分页类[v0.1]            {
分页类[v0.1]                
$option .="<option value='".$i."";
分页类[v0.1]                
if ($i==$this->page) {
分页类[v0.1]                    
$option .="selected";
分页类[v0.1]                }
分页类[v0.1]                
$option .=">".$i."</option>\n";
分页类[v0.1]            }
分页类[v0.1]            
$select .=$option;
分页类[v0.1]            
$select .="</select>\n";
分页类[v0.1]            
$html .= "\n 转到第".$select." 页";
分页类[v0.1]        }
分页类[v0.1]        
return $html;
分页类[v0.1]    }
分页类[v0.1]    
分页类[v0.1]    
function writePagesLinks( $link ) {
分页类[v0.1]        
echo $this->getPagesLinks( $link  );
分页类[v0.1]        
$this->writePagesCounter();
分页类[v0.1]    }
分页类[v0.1]
分页类[v0.1]    
function getPagesLinks( $link )
分页类[v0.1]    {
分页类[v0.1]        
$html = '';
分页类[v0.1]        
$total_pages = $this->totalPages;
分页类[v0.1]        
$this_page = $this->page;
分页类[v0.1]        
$next_page = $this_page+1;
分页类[v0.1]        
$pre_page = $this_page-1;
分页类[v0.1]
分页类[v0.1]        
if ($this_page > 1) {
分页类[v0.1]            
$startPageLink = preg_replace("#\{\{([^\}][^\}]+)\}\}#e", "$\\1",$this->link_expression['startPage']);
分页类[v0.1]            
$prePageLink = preg_replace("#\{\{([^\}][^\}]+)\}\}#e", "$\\1",$this->link_expression['prePage']);
分页类[v0.1]            
$html .= "\n<a href='".$startPageLink."' > 首页</a>";
分页类[v0.1]            
$html .= "\n<a href='".$prePageLink."' > 上一页</a>";
分页类[v0.1]        } 
else {
分页类[v0.1]            
$html .= "\n<span class=\"pagenav\">首页</span>";
分页类[v0.1]            
$html .= "\n<span class=\"pagenav\">上一页</span>";
分页类[v0.1]        }
分页类[v0.1]
分页类[v0.1]        
if ($this_page < $total_pages) {
分页类[v0.1]            
$end_page = $total_pages;
分页类[v0.1]            
$nextPageLink = preg_replace("#\{\{([^\}][^\}]+)\}\}#e", "$\\1",$this->link_expression['nextPage']);
分页类[v0.1]            
$endPageLink = preg_replace("#\{\{([^\}][^\}]+)\}\}#e", "$\\1",$this->link_expression['endPage']);
分页类[v0.1]
分页类[v0.1]            
$html .= "\n<a href='".$nextPageLink."' > 下一页</a>";
分页类[v0.1]            
$html .= "\n<a href='".$endPageLink."' > 尾页</a>";
分页类[v0.1]        } 
else {
分页类[v0.1]            
$html .= "\n<span class=\"pagenav\">下一页 </span>";
分页类[v0.1]            
$html .= "\n<span class=\"pagenav\">尾页 </span>";
分页类[v0.1]        }
分页类[v0.1]        
return $html;
分页类[v0.1]    }
分页类[v0.1]    
分页类[v0.1]}
//end class
分页类[v0.1]

分页类[v0.1]
?>

相关文章: