超強力なページング クラス 2.0 がリリースされ、カスタム スタイルをサポートし、4 つのデフォルト表示モードがあります
フォーラムで Baidu ページング クラスを求めている人を見かけたので、数週間前のページング クラスを投稿しました。
2.0は1.0に対して以下のように修正されました:
1. PHP4とPHP5をサポートします
2. ajaxページングの機能を追加します
3. プログラム全体の構造を最適化します
4. カスタムスタイルの機能を追加します
コードは次のとおりです次のように:
コードをコピーします コードは次のとおりです:
/**
* ファイル名: ext_page.class.php
* @package:phpbean
* @author :feifengxlq
* @copyright :Copyright 2006 feifengxlq
* @license:version 2.0
* @create:2006-5-31
* @modify:2006-6-1
* @modify: feifengxlq 2006-11-4
* 説明: 超強力なページング クラス、4 つのページング モード、デフォルトのページング スタイルは Baidu や Google に似ています。
* 2.0 の追加機能: カスタム スタイルのサポート、カスタム スタイル、PHP4 と PHP5 の両方のサポート、
* 詳細については、[url=http://www.phpobject.net/blog/read.php]http://www.phpobject.net/blog/read.php にアクセスしてください。 www.phpobject.net/blog/read.php[/url]?
* 例:
* 4 つのページング モード:
require_once('../libs/classes/page.class.php'); new page(array('total'=>1000,'perpage'=>20));
echo 'mode:1
'.$page->show();
echo '
モード:2
'.$page->show(2);
echo '
mode:3
'.$page->show(3); mode:4
'.$page->show(4);
AJAX をオンにする:
$ajaxpage=new page(array('total'=>1000,'perpage'=>20, 'ajax) '=>'ajax_page','page_name'=>'test'));
echo 'mode:1
'.$ajaxpage->show();
継承されたカスタム ページング表示モードを採用する :
デモ:http://www.phpobject.net/ブログ
*/
class page
{
/**
* 設定、公開
*/
var $page_name="PB_page";//URL ページを制御するために使用されるページ タグ。たとえば、xxx.php?PB_page=2 の PB_page
var $next_page='>';//次のページ
var $pre_page='<';//前のページ
var $first_page='First' ;/ /Homepage
var $last_page='Last';//最後のページ
var $pre_bar='<<';//前のページング バー
var $next_bar='>>';//次のページング バー
var $format_left='[';
var $format_right=']';
var $is_ajax=false;//AJAX ページング モードがサポートされているかどうか
/**
* プライベート
*
*/
var $pagebarnum=10 ;/ /レコードストリップの数を制御します。
var $totalpage=0;//总页数
var $ajax_acti||$last=='&'){
$this->url.=$this->page_name."=";
}else{
$this->url.='&'.$this->page_name."=";
}
}else{
//
$this->url=$_SERVER['REQUEST_URI'].'&'.$this->page_name.'=';
}//end if
}//end if
}//end if
}
/**
* 現在のページを設定します
*
*/
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);
}
}
/**
* 指定されたページのアドレス値を返します
*
* @param int $pageno
* @return string $url
*/
function _get_url($pageno=1)
{
return $this->url.$pageno;
}
/**
* ページネーションの表示テキストを取得します。たとえば、デフォルトでは _get_text('1') は [1] を返します
*
* @param 文字列 $str
* @return 文字列 $url
*/
function _get_text($str)
{
return $this->format_left.$str.$this->format_right;
}
/**
* リンクアドレスを取得します
*/
function _get_link($url,$text,$style=''){
$style=(empty($style))?'':'class="'.$スタイル。'"';
if($this->is_ajax){
//如果是使用AJAXモード
return 'ajax_action_name.'(''.$url.'')">'.$text.'';
}else{
return ''.$text.'';
}
}
/**
※エラー時の対処方法
*/
function error($function,$errormsg)
{
die('ファイル内のエラー'.__FILE__.' ,Function < b>'.$function.'() :'.$errormsg);
}
}
?>
复制代码代码如下:
require_once('../libs/classes/page.class.php');
$page=新しいページ(array('total'=>1000,'perpage'=>20));
echo 'mode:1
'.$page->show();
echo '