PHP Ajax ページネーション クラス コード
//このページング クラスは SQL を処理しません。
//ページング関数を大幅に高速化します
//http://blog.csdn.net/fkedwgwy
/ /Xiaoxiang ブログ--Xiaoxiang
/**
演示
require_once('../libs/classes/page.class.php');
$page=新しいページ(array('total'=>1000,'perpage'=>20));
echo 'mode:1
'.$page->show();
echo '
mode:2
'.$page->show(2);
echo '
mode:3
'.$page->show(3);
echo '
mode:4
'.$page->show(4);
echo '
开開始AJAXモード:';
$ajaxpage=new page(array('total'=>1000,'perpage'=>20,'ajax'=>'ajax_page','page_name'=>'test'));
echo 'mode:1
'.$ajaxpage->show();
*/
class Zend_Page
{
/**
* 設定、パブリック
*/
var $page_name="ページ";/ / page タグ。URL ページを制御するために使用されます。たとえば、xxx.php の PB_page?PB_page=2
var $next_page='>';//次のページ
var $pre_page='<';//前のページ
var $first_page ='First';//ホームページ
var $last_page='Last';//最後のページ
var $pre_bar='<<';//前のページングバー
var $ next_bar=' >>';//次のページングバー
var $format_left='';
var $is_ajax=false;//AJAX ページングがサポートされているかどうか
var $next_ten_page=">>>";
var $per_ten_page="<<<";
/**
* プライベート
*
*/
var $pagebarnum =10;//レコードバーの数を制御します。
var $totalpage=0;//総ページ数
var $ajax_action_name='';//AJAX アクション名
var $nowindex=1;//現在のページ
var $url= " ";//URL アドレスヘッダー
var $offset=0;
/**
* コンストラクター构造関数数
*
* @param array $array['total'],$array['perpage'],$array['nowindex'],$array['url'], $array['ajax']...
*/
function Zend_Page($array)
{
if(is_array($array)){
if(!array_key_exists('total',$array))$this->error(__FUNCTION__,'need a param of 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']:'';
$total=$array;
$nowindex='';
}
if((!is_int($total))||($totalerror(__FUNCTION__,$total.' は正の整数ではありません!'); > if((!is_int($perpage))||($perpageif(!empty ( $array['page_name']))$this->set('page_name',$array['page_name']);// ページ名を設定します
$this->_set_nowindex($nowindex);//現在のページを設定
$this->_set_url($url);//リンクアドレスを設定
$this->totalpage=ceil($total/$perpage);
$this->total = $total;
$this->offset=($this->nowindex-1)*$perpage;
if(!empty($array['ajax']))$this-> open_ajax ($array['ajax']);//AJAX モードを開く
}
/**
* 指定された変数名の値をクラスに設定します。変更がこのクラスに属さない場合、例外がスローされます。
*
* @param string $var
* @param文字列 $value
*/
function set($var,$value)
{
if (in_array($var,get_object_vars($this)))
$this->gt;$var=$value;
else {
$this->error(__FUNCTION__,$var." はPB_Page に属していません!");
}
}
/**
* 逆 AJAX モードをオンにする
*
* @param string $action デフォルトの ajax がトリガーされましたアクション 。
*/
function open_ajax($action)
{
$this->is_ajax=true;
$this->ajax_action_name=$action;
}
/**
* 「次のページ」を表示するコードを取得
*
* @param string $style
* @return string
*/
function next_page($style='')
{
if($this->nowindex<$this->totalpage) {
return $this->gt;_get_link($this->gt;_get_url($this->gt;nowindex 1),$this->next_page,$style);
}
return ''.$this->next_page.'';
}
/**
* 「前ページ」を表示するコードを取得
*
* @param string $style
* @return string
*/
function pre_page($style='')
{
if($this->nowindex>1){
return $this->_get_link($this->_get_url($this->>nowindex-1),$this->pre_page,$style);
}
return ''.$this->pre_page.'';
}
/**
* 「最後の 10 ページ」を表示するコードを取得します
*
* @param string $style
* @return string
*/
function pre_ten_page($style='')
{
if(intval($this->nowindex/10) 1>1){
return $this->_get_link($this->_get_url(intval($this->nowindex/10)*10-5),$this->pre_ten_page,$style) ;
}
return ''.$this->pre_ten_page.'';
}
/**
* 「次の 10 ページ」を表示するコードを取得します
*
* @param string $style
* @return string
*/
function next_ten_page($style='')
{
if(intval($this->nowindex/10)
return $this->_get_link($this->_get_url((intval($this->nowindex/10) 1)*10 5 ),$this->next_ten_page,$style);
}
return ''.$this->next_ten_page.'';
}
/**
* 「ホームページ」を表示するコードを取得します
*
* @return string
*/
function first_page($style='')
{
if($this->nowindex==1){
return ''.$this->first_page.'';
}
return $this->_get_link($this->_get_url(1),$this->first_page,$style);
}
/**
* 「最後のページ」を表示するコードを取得します
*
* @return string
*/
function last_page($style='')
{
if($this->nowindex==$this- >totalpage){
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->今インデックス);
$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(''.$i.'');
}else{
休憩;
}
$return.="n";
}
unset($begin);
return $return;
}
/**
* ジャンプボタンを表示するコードを取得
*
* @return string
*/
function select()
{
$return='';
return $return;
}
/**
* mysql ステートメントの制限に必要な値を取得します
*
* @return string
*/
function offset()
{
return $this->offset;
}
/**
* ページング表示スタイルを制御します (対応するスタイルを追加できます)
*
* @param int $mode
* @return string
*/
function show($mode=1,$url='')
{
switch ($mode)
{
ケース '1':
$this->next_page='下一页';
$this->pre_page='上一页';
return $this->pre_page().$this->nowbar().$this->next_page().'第'.$this->select().'页';
休憩;
ケース '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().'页';
休憩;
ケース '3':
$this->next_page='下一页';
$this->pre_page='上一页';
$this->first_page='首页';
$this->last_page='尾页';
return $this->first_page().$this->pre_page().$this->next_page().$this->last_page();
休憩;
ケース '4':
$this->next_page='next';
$this->pre_page='last';
return $this->pre_page().$this->nowbar().$this->next_page();
休憩;
ケース '5':
return $this->pre_bar().$this->pre_page().$this->nowbar().$this->next_page().$this ->next_bar();
休憩;
case '6':
//「上一页」、「下一页」、「最終一页」が使用されます。状況に応じて「第一页」を使用できます。
//$this ->first_page='

$this->pre_page='

$this->next_page='

$this->last_page='最終一页';
//return "
return "
休憩;
ケース '7':
$this->next_page='

$this->pre_page='

$this->first_page='

$this->last_page='

if($this->totalpage==0)
{$this->nowindex=0;}
return $this->first_page()." ".$this-> pre_page()." ".$this->next_page()." ".$this->last_page()." ".$this->select();
休憩;
case '8':
//「上一页」、「下一页」、「最後一页」が使用されます。状況に応じて「最初の页」を使用できます。
//$this->first_page='

$this->pre_page='

$this->next_page='

$this->last_page='最終一页';
if($this->totalpage==0)
{$this->nowindex=0;}
//return "
return "
休憩;
}
}
/*-----private function (私有メソッド)----------- -----------------------------------------------*/
/**
* URL ヘッダー アドレスを設定します
* @param: String $url
* @return boolean
*/
function _set_url($url="")
{
if(!empty($url)){
//手動設置
$ this->url=$url.((stristr($url,'?'))?'&':'?').$this->page_name."=";
}else{
//自動获取
if(empty($_SERVER['QUERY_STRING'])){
//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.'=';
}//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 String $str
* @return string $url
*/
function _get_text($str)
{
return $this->format_left.$str.$this->フォーマット右;
}
/**
* リンクアドレスを取得
*/
function _get_link($url,$text,$style=''){
$style=(empty($style)) ?'':'class="'.$style.'"';
if($this->is_ajax){
//結果として AJAX モードを使用します
return ''.$text.'';
}else{
return ''.$text.'';
}
}
/**
* エラー処理方法
*/
function error($function,$errormsg)
{
die('ファイル のエラー'. __FILE__.' ,関数 '.$function.'() :'.$errormsg);
}
}
?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。
