PHP クラシック ページング コード クラス。これは、URL パラメーターを自動的に決定し、同時に前のページ、次のページ、およびページングを実行できる古典的なコードの例です。最後のページでは、ドロップダウン ボックスのジャンプ コードもサポートされています。
phpチュートリアルの古典的なページングコードクラス
これは、URLパラメータを自動的に決定し、同時に上部ページ、次のページ、ホームページ、および最後のページングを実行できる古典的なサンプルコードです。ページのカスタマイズと同時に、ドロップダウン ボックスのジャンプ コードの選択もサポートされます。
*/
クラス ページ{
var $page_name="ページ";
var $next_page='次のページ';
var $pre_page='前のページ';
var $first_page=' ホームページ';
var $last_page='最後のページ';
var $pre_bar='<<';
var $next_bar='>>';
var $format_left='';
var $format_right='';
var $pagebarnum=5;
var $totalpage=0;
var $nowindex=1;
var $url="";
var $offset=0;
var $rewrite = array();
関数ページ($array){
if(is_array($array)){
if(!array_key_exists('total',$array))$this- > ;error(__function__,'total のパラメータが必要です');
$total=intval($array['total']);
$perpage=(array_key_exists('perpage',$array))?intval( $ array['perpage']):10;
$nowindex=(array_key_exists('nowindex',$array))?intval($array['nowindex']):'';
$url=(array_key_exists( ' url',$array))?$array['url']:'';
$action = (array_key_exists('action', $array)) ? $array['action'] : '';
$ id0 = (array_key_exists('id0', $array)) ? $array['id0'] : '';
$id1 = (array_key_exists('id1', $array)) : ' ' ;
$id2 = (array_key_exists('id2', $array)) ? $array['id2'] : '';
$id3 = (array_key_exists('id3', $array)) ? ] : '';}else{
$total=$array;
を使用する ‐ ‐ ‐ ‐‐ ‐‐ $total=$array
$perpage=10; '';
$id1 = '';$id2 = '';
$id3 = '';if((!is_int($perpage))||($perpage<=0))$this-> ;error(__function__ ,$perpage.' は正の整数ではありません!'); if(!empty($array['page_name']))$this->set('page_name',$array['page_name']); $this->set_nowindex($nowindex); $this->gt;_set_url($url); $this->totalpage=ceil($total/$perpage); $this-> ;offset=($this->nowindex-1)*$perpage; $this->action = $action;
}
if((!is_int($total))||($total$this->rewrite = array('action'=>$ action,'id0 '=>$id0, 'id1'=>$id1, 'id2'=>$id2, 'id3'=>$id3); }
関数 set($var,$ value){
if(in_array($var,get_object_vars($this)))$this->$var=$value;
else { $this->error(__function__,$var ." は起こりませんpb_page に属します!"); } } function next_page($style=''){if($this->nowindex<$this->totalpage){
return $this-> _get_link($this->_get_url($this->nowindex+1),$this->next_page,$style);}
return ' '.$this->next_page.'';}
return 'pre_page.'';
function pre_page($style=''){
if($this->nowindex>1){
return $this-> ;_get_link($this->_get_url($this->nowindex-1),$this->pre_page,$style);
}}
return $this->_get_link($this-> ;_get_url(1) ),$this->first_page,$style);
function first_page($style=''){
if($this->nowindex==1){
return '< ;a class="'.$style.'">'.$this->first_page.'';
}}
function last_page($style=''){
if($this->nowindex==$this->totalpage|| $this-> ;totalpage==0){
return ''.$this->last_page.'';}
return $this->_get_link($this->_get_url($this->totalpage),$this->last_page,$style);
}
function nowbar($style='', $nowindex_style=''){
$plus=ceil($this->pagebarnum/2);
if($this->pagebarnum-$plus+$this->nowindex>$this-> ;totalpage)$plus=($this->pagebarnum-$this->totalpage+$this->nowindex);
$begin=$this->nowindex-$plus+1;
$begin= ($begin>=1)?$begin:1;
$return='';
for($i=$begin;$i<$begin+$this->pagebarnum;$i++)
{
if($i<=$this->totalpage){
if($i!=$this->nowindex)
$return.=$this->_get_text($this->_get_link( $this->_get_url($i),$i,$style));
else
$return.=$this->_get_text('');
}else{
Break;
}
$return.="n";
}
unset($begin);
return $return;
}
/**
* ジャンプボタンを表示するコードを取得します
*
* @return string
*/
function select()
{
$return='
for($i =1;$i<=$this->totalpage;$i++)
{
if($i==$this->nowindex){
$return.='';
}else{
$return.='';
}
}
unset($i);
$return.='';return $return;
}
/**
* mysql チュートリアルステートメントの制限に必要な値を取得します
*
* @return string
*/
function offset()
{
return $this->offset;
}
/**
* ページング表示スタイルの制御 (対応するスタイルを追加できます)
*
* @param int $mode
* @return string
*/
function show( $mode=1)
{
switch ($mode)
{
case '1':
$this->next_page='下一页';
$this->pre_page='上一页';
return $this->pre_page().$this->nowbar().$this->next_page().'第'.$this->select().'页';
Break;
case '2':
$this->next_page='下一页';
$this->pre_page='上一页';
$this-> first_page='首页';
$this->last_page='尾页';
return $this->first_page().$this->pre_page().'[第'.$this-> ;nowindex.'页]'.$this->next_page().$this->last_page().'第'.$this->select().'页';
Break;
case '3':
$this->next_page='下一页';
$this->pre_page='上一页';
$this->first_page='首页';
$ this->last_page='尾页';
return $this->first_page("page_box")."".$this->pre_page("page_box")."".$this->nowbar ("page_box_a","page_box_b")."".$this->next_page("page_box")."".$this->last_page("page_box")."";
Break;
case '4':
$this->next_page='下一页';
$this->pre_page='上一页';
return $this->pre_page().$this->nowbar().$this->next_page();
Break;
case '5':
return $this->pre_bar( ).$this->pre_page().$this->nowbar().$this->next_page().$this->next_bar();
Break;
}
}
function _set_url($url="")
{
if(!empty($url)){
$this->url=$url.((stristr($url,'?')) ?'&':'?').$this->page_name."=";
}else{
if(empty($_server['query_string'])){
$this->url=$_server['request_uri']."?".$this->page_name."= ";
}else{
if(stristr($_server['query_string'],$this->page_name.'=')){
$this->url=str_replace($this-> page_name.'='.$this->nowindex,'',$_server['request_uri']);
$last=$this->url[strlen($this->url)-1];
if($last=='?'||$last=='&'){
$this->url.=$this->page_name."=";
}else{
$this->url.='&'.$this->page_name."=";
}
}else{
$this->url=$_server['request_uri'].'& '.$this->page_name.'=';
}
}
}
}
function _set_nowindex($nowindex){
if(empty($nowindex)){
if(isset($_get[$this->page_name])){
$this->nowindex=intval($_get[$this->page_name]);
}
}else{
$this->nowindex=intval($nowindex);
}
}
function _get_url($pageno=1)
{
global $_cfg;
$arr = $this->rewrite;
// print_r($arr);
//print_r($this->url.$pageno);
if($_cfg['urlrewrite'] && !empty($arr['action'])){
return url_rewrite( $arr['action'], array('id0'=>$arr['id0'],'id1'=>$arr['id1'],'id2'=>$arr['id2' ],'id3'=>$arr['id3'],'page'=>$pageno));
}else{
return $this->url.$pageno;
}}
function _get_text($str)
{
return $this->format_left.$str.$this->format_right;
}
function _get_link($url,$text,$style=''){
$style=(empty($style))?'':'class="'.$style.'"';
return ''.$text.'';
}
関数エラー($function,$errormsg){
die('エラーファイル '.__file__.' ,関数 '.$function.'() :'.$errormsg);
}
}
?> ;