国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ php教程 php手冊(cè) PHP Ajax ページネーション クラス コード

PHP Ajax ページネーション クラス コード

Jun 13, 2016 pm 12:26 PM
ajax http php sql コード ページネーション 関數(shù) 追加 対処する 親切


//このページング クラスは SQL を処理しません。
//ページング関數(shù)を大幅に高速化します
//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 '
開(kāi)開(kāi)始AJAXモード:';
$ajaxpage=new page(array('total'=>1000,'perpage'=>20,'ajax'=>'ajax_page','page_name'=>'test'));
echo 'mode:1
'.$ajaxpage->show();
*/
class Zend_Page
{
/**
* 設(shè)定、パブリック
*/
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;//レコードバーの數(shù)を制御します。
var $totalpage=0;//総ページ數(shù)
var $ajax_action_name='';//AJAX アクション名
var $nowindex=1;//現(xiàn)在のページ
var $url= " ";//URL アドレスヘッダー
var $offset=0;

/**
* コンストラクター構(gòu)造関數(shù)數(shù)
*
* @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.' は正の整數(shù)ではありません!'); > if((!is_int($perpage))||($perpageif(!empty ( $array['page_name']))$this->set('page_name',$array['page_name']);// ページ名を設(shè)定します
$this->_set_nowindex($nowindex);//現(xiàn)在のページを設(shè)定
$this->_set_url($url);//リンクアドレスを設(shè)定
$this->totalpage=ceil($total/$perpage);
$this->total = $total;
$this->offset=($this->nowindex-1)*$perpage;
if(!empty($array['ajax']))$this-> open_ajax ($array['ajax']);//AJAX モードを開(kāi)く
}
/**
* 指定された変數(shù)名の値をクラスに設(shè)定します。変更がこのクラスに屬さない場(chǎng)合、例外がスローされます。
*
* @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) totalpage/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='下一頁(yè)';
$this->pre_page='上一頁(yè)';
return $this->pre_page().$this->nowbar().$this->next_page().'第'.$this->select().'頁(yè)';
休憩;
ケース '2':
$this->next_page='下一頁(yè)';
$this->pre_page='上一頁(yè)';
$this->first_page='首頁(yè)';
$this->last_page='尾頁(yè)';
return $this->first_page().$this->pre_page().'[第'.$this->nowindex.'頁(yè)]'.$this->next_page().$this ->last_page().'第'.$this->select().'頁(yè)';
休憩;
ケース '3':
$this->next_page='下一頁(yè)';
$this->pre_page='上一頁(yè)';
$this->first_page='首頁(yè)';
$this->last_page='尾頁(yè)';
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':
//「上一頁(yè)」、「下一頁(yè)」、「最終一頁(yè)」が使用されます。狀況に応じて「第一頁(yè)」を使用できます。
//$this ->first_page='';
$this->pre_page='';
$this->next_page='';
$this->last_page='最終一頁(yè)';
//return "".$this->select().""."頁(yè)"."".$this->first_page().""。 "".$this->pre_page().""."".$this->next_page( ).""."".$this->last_page()."";
return "共有[".$this->total."]件商品 ".$this->nowindex."/".$this->totalpage. "頁(yè)"."".$this->pre_page()." ".$this->next_page().""."< ;td width=145>".$this->last_page()." ".$this->select()." 頁(yè) ";
休憩;
ケース '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':
//「上一頁(yè)」、「下一頁(yè)」、「最後一頁(yè)」が使用されます。狀況に応じて「最初の頁(yè)」を使用できます。
//$this->first_page='';
$this->pre_page='';
$this->next_page='';
$this->last_page='最終一頁(yè)';
if($this->totalpage==0)
{$this->nowindex=0;}
//return "" .$this->select().""."頁(yè)"." ".$this->first_page().""."".$this->pre_page() .""."".$this->next_page().""." ".$this->last_page()."";
return "共有[".$this->total."]條情報(bào) ".$this->nowindex."/".$this->totalpage. "頁(yè)"."".$this->pre_page()." ".$this->next_page().""."< ;td width=145>".$this->last_page()." ".$this->select()." 頁(yè) ";
休憩;
}

}
/*-----private function (私有メソッド)----------- -----------------------------------------------*/
/**
* URL ヘッダー アドレスを設(shè)定します
* @param: String $url
* @return boolean
*/
function _set_url($url="")
{
if(!empty($url)){
//手動(dòng)設(shè)置
$ this->url=$url.((stristr($url,'?'))?'&':'?').$this->page_name."=";
}else{
//自動(dòng)獲取
if(empty($_SERVER['QUERY_STRING'])){
//QUERY_STRING が存在しない場(chǎng)合
$this->url=$ _SERVER['REQUEST_URI']."?".$this->page_name."=";
}else{
//
if(stristr($_SERVER['QUERY_STRING'],$this->page_name.'=')){
//地址存在頁(yè)面パラメータ
$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
}

/**
* 現(xiàn)在のページを設(shè)定します
*
*/
function _set_nowindex($nowindex) )
{
if(empty($nowindex)){
//系統(tǒng)獲取

if(isset($_GET[$this->page_name])){
$this->nowindex=intval($_GET[$this->page_name]);
}
}else{
//手動(dòng)設(shè)定
$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){
//結(jié)果として AJAX モードを使用します
return '
'.$text.'';
}else{
return ''.$text.'';
}
}
/**
* エラー処理方法
*/
function error($function,$errormsg)
{
die('ファイル のエラー'. __FILE__.' ,関數(shù) '.$function.'() :'.$errormsg);
}
}
?>

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類(lèi)リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPのインデックスごとに文字列內(nèi)の文字にアクセスする方法 PHPのインデックスごとに文字列內(nèi)の文字にアクセスする方法 Jul 12, 2025 am 03:15 AM

PHPでは、四角い括弧または巻き毛裝具を使用して文字列固有のインデックス文字を取得できますが、正方形のブラケットをお?jiǎng)幛幛筏蓼埂%ぅ螗钎氓工?から始まり、範(fàn)囲外のアクセスはnull値を返し、値を割り當(dāng)てることができません。 MB_SUBSTRは、マルチバイト文字を処理するために必要です。例:$ str = "hello"; echo $ str [0];出力h; MB_Substr($ str、1,1)などの漢字は、正しい結(jié)果を得る必要があります。実際のアプリケーションでは、ループする前に文字列の長(zhǎng)さをチェックする必要があり、ダイナミック文字列を有効性のために検証する必要があり、多言語(yǔ)プロジェクトはマルチバイトセキュリティ関數(shù)を均一に使用することをお?jiǎng)幛幛筏蓼埂?/p>

発電機(jī)はPHPでどのように機(jī)能しますか? 発電機(jī)はPHPでどのように機(jī)能しますか? Jul 11, 2025 am 03:12 AM

ageneratorinphpisamemory-efficientwaytoateate-overdeatatasetasetasetasetsinging valueseintimeintimeturningthemallatonce.1.generatorsususedeywordproducevaluesedemand、memoryusage.2を還元すること。2

PHPでのセッションハイジャックを防ぐ方法は? PHPでのセッションハイジャックを防ぐ方法は? Jul 11, 2025 am 03:15 AM

PHPでのセッションハイジャックを防ぐには、次の測(cè)定値をとる必要があります。1。httpsを使用して送信を暗號(hào)化し、session.cookie_secure = 1をphp.iniに設(shè)定します。 2. HTTPonly、Secure、SamesiteなどのセキュリティCookie屬性を設(shè)定します。 3。ユーザーがログインまたはアクセス許可を変更して変更を変更してセッションIDを変更したときにsession_regenerate_id(true)を呼び出します。 4.セッションのライフサイクルを制限し、GC_MAXLIFETIMEを合理的に構(gòu)成し、ユーザーのアクティビティ時(shí)間を記録します。 5。SessionIDをURLに公開(kāi)することを禁止し、SESSION.USE_ONLYを設(shè)定します

PHP文字列の最初のn文字を取得します PHP文字列の最初のn文字を取得します Jul 11, 2025 am 03:17 AM

substr()またはmb_substr()を使用して、phpで最初のn文字を取得できます。特定の手順は次のとおりです。1。substr($ string、0、n)を使用して、ASCII文字に適しており、シンプルで効率的です。 2。マルチバイト文字(中國(guó)語(yǔ)など)、MB_Substr($ String、0、n、 'UTF-8')を処理し、MBSTRING拡張機(jī)能が有効になっていることを確認(rèn)します。 3.文字列にhtmlまたはwhitespace文字が含まれている場(chǎng)合、最初にstrip_tags()を使用してタグとtrim()を削除してスペースをきれいにし、結(jié)果がきれいであることを確認(rèn)するためにインターセプトする必要があります。

PHP文字列の最後のn文字を取得します PHP文字列の最後のn文字を取得します Jul 11, 2025 am 03:17 AM

PHPで文字列の最後のn文字を取得する2つの主な方法があります。1。substr()関數(shù)を使用して、単一バイト文字に適したネガティブ開(kāi)始位置を介して傍受します。 2。MB_SUBSTR()関數(shù)を使用して、英語(yǔ)以外の文字が切り捨てられないように多言語(yǔ)とUTF-8エンコーディングをサポートします。 3.オプションで、文字列の長(zhǎng)さが境界の狀況を処理するのに十分かどうかを判斷します。 4. Strrev()substr()の組み合わせ方法を使用することはお?jiǎng)幛幛筏蓼护?。これは、マルチバイト文字にとって安全で非効率的ではないためです?/p>

URLENCODEを使用してPHPで文字列をエンコードする方法 URLENCODEを使用してPHPで文字列をエンコードする方法 Jul 11, 2025 am 03:22 AM

urlencode()関數(shù)は、文字列をURLセーフ形式にエンコードするために使用されます。これは、非過(guò)去の文字( - 、_、および。を除く)に、2桁の16進(jìn)數(shù)が続くパーセント記號(hào)に置き換えられます。たとえば、スペースは標(biāo)識(shí)に変換され、感嘆符は!に変換され、漢字はUTF-8エンコーディングフォームに変換されます。使用する場(chǎng)合、URL構(gòu)造の損傷を避けるために、URL全體ではなく、パラメーター値のみをエンコードする必要があります。パスセグメントなどのURLの他の部分の場(chǎng)合、rawurlencode()関數(shù)を使用する必要があります。配列パラメーターを処理する場(chǎng)合、http_build_query()を使用して、各値でurlencode()を自動(dòng)的にエンコードするか、データの安全な転送を確保することができます。ただ

PHPでセッション変數(shù)を設(shè)定および取得する方法は? PHPでセッション変數(shù)を設(shè)定および取得する方法は? Jul 12, 2025 am 03:10 AM

PHPでセッション変數(shù)を設(shè)定して取得するには、最初にスクリプトの上部でsession_start()を呼び出してセッションを開(kāi)始する必要があります。 1.セッション変數(shù)を設(shè)定するときは、$ _Session HyperGlobal Arrayを使用して、$ _Session ['username'] = 'john_doe'などの特定のキーに値を割り當(dāng)てます。文字列、數(shù)字、配列、さらにはオブジェクトを保存できますが、パフォーマンスに影響を及ぼさないでデータを保存しすぎないようにします。 2。セッション変數(shù)を取得するときは、最初にsession_start()を呼び出してから、echo $ _session ['username']など、キーを介して$ _sessionアレイにアクセスする必要があります。 Isset()を使用して、変數(shù)が存在するかどうかを確認(rèn)することをお?jiǎng)幛幛筏蓼埂?/p>

PHPでのSQL注射を防ぐ方法 PHPでのSQL注射を防ぐ方法 Jul 12, 2025 am 03:02 AM

PHPでのSQL注入を防ぐための主要な方法には、次のものが含まれます。1。プリプロセシングステートメント(PDOやMySQLIなど)を使用して、SQLコードとデータを分離します。 2。真の前処理を確保するために、シミュレートされた前処理モードをオフにします。 3。IS_NUMERIC()およびFilter_Var()を使用するなど、ユーザー入力をフィルターおよび検証します。 4. SQL文字列を直接スプライシングしないようにし、代わりにパラメーターバインディングを使用します。 5.生産環(huán)境でエラー表示をオフにし、エラーログを記録します。これらの測(cè)定では、メカニズムや詳細(xì)からのSQL注入のリスクを包括的に防ぎます。

See all articles