検索
ホームページバックエンド開発PHPチュートリアル2 つのスーパー PHP ページング コード_PHP チュートリアル

2 つのスーパー PHP ページング コード_PHP チュートリアル

Jul 20, 2016 am 11:09 AM
php2種類コードページネーションチュートリアルモデル親切追い越すデフォルト

2つのスーパーPHPチュートリアルのページネーションコード

/**
* 説明: 超強力なページング クラス、4 つのページング モード、デフォルトのページング スタイルは Baidu や Google に似ています。
* 2.0 追加機能: カスタム スタイルをサポート、カスタム スタイル、php4 と php5 の両方をサポート、
* 例:
* 4 つのページング モード:
* require_once('../libs/classes/page.class.php ');
* $page=new 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);
* Ajaxをオンにする:
* $ajaxpage=new page(array('total'=> ;1000, 'perpage'=>20,'ajax'=>'ajax_page','page_name'=>'test'));
* echo 'mode:1
'.$ajaxpage-> ;
*/
class page
{
/**
* 設定、公開
 */
var $page_name="page";//URL ページを制御するために使用される page タグ。たとえば、xxx.php?page=2 のページ
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_action_name='';//ajaxアクション名
var $nowindex=1;//現在のページ
var $url="";// URLアドレスヘッダー
var $offset=0;

/**
*constructor构造関数数
*
* @param array $array['total'],$array['perpage'],$array['nowindex'],$array['url'],$array['ajax' ]
 */
関数ページ($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']:'';
}else{
$total=$array;
$perpage=10;
$nowindex='';
$url='';
}
if((!is_int($total))||($totalerror(__function__,$total.' は正の整数ではありません!');
if((!is_int ( $perpage))||($perpageerror(__function__,$perpage.' は正の整数ではありません!');
if(!empty($array['page_name'] ) )$this->set('page_name',$array['page_name']);// ページ名を設定します
$this->>_set_nowindex($nowindex);// 現在のページを設定します
$this-> _set_url( $url);//リンクアドレスを設定します
$this->gt;totalpage=ceil($total/$perpage);
$this->gt;offset=($this->nowindex-1)*$this -> ページごと;
if(!empty($array['ajax']))$this->open_ajax($array['ajax']);//Ajax モードを開く
}
/**
* 指定された変数名の値をクラスに設定します。変更がこのクラスに属さない場合、例外がスローされます
*
* @param string $var
* @param string $value
*/
function set($var,$value)
{
if(in_array($var,get_object_vars($this)))
$this->$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->nowindextotalpage ){
return $this->_get_link($this->_get_url($this->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.'';
}

/**
* 「ホームページ」を表示するコードを取得します
*
* @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->nowindex);
$ begin=$this->nowindex-$plus+1;
$begin=($begin>=1)?$begin:1;
$return='';
for($i=$begin;$ipagebarnum;$i++)
{
if($itotalpage){
if($i!=$this->nowindex)
$return.=$this ->_get_text($this->_get_link($this->_get_url($i),$i,$style));
else
$return.=$this->_get_text(''.$i.'');
}else{
Break;
}
$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)
{
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().$this->pre_page().$this->next_page().$this->last_page ();
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;
}

}
/*-------------- --private 関数 (私有方法)------------------------------------------ -----------------*/
/**
* 设置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->format_right;
}

/**
* リンクアドレスを取得します
*/
function _get_link($url,$text,$style=''){
$style=(empty($style))? '':'class="'.$style.'"';
if($this->is_ajax){
//如果是使用ajax模式
return ''.$text.'';
}else{
return '< ;a '.$style.' href="'.$url.'">'.$text.'';
}
}
/**
* エラー処理方法
*/
関数エラー($function,$errormsg)
{
die('ファイル '.__file__.' ,function '.$function.'() :'.$errormsg);
}
}
?>

代码二

/**
* ページナビゲーション html を取得します
* @param $pagenum: 現在のページ番号
* @param $pagesize: 各ページの番号
* @param $rowcount: レコードの総数
* @param $navurl: リンクページの URL
*/
function getnavhtml($pagenum,$pagesize,$rowcount,$navurl){
$pagecount = (int)($rowcount/$pagesize) //総ページ数
if ( $rowcount % $pagesize >0){
$pagecount++;
}
if ($pagenum>$pagecount){
$pagenum = 1;
}
$firstnav = "ホームページ ";
$lastnav = "最後のページ ";
$prevnav= " ";
$nextnav="";
if ($pagenum>1){
$navpagenum = $pagenum-1;
$prevnav = " ";
}
if ($pagenum1){
$navpagenum = $pagenum+1;
$nextnav = "
次のページ ";
}
$amongnav="";

//キーループ

for ($i=1;$i $navpagenum = $pagenum+ $i-3;
if ($navpagenum>0 && $navpagenum $navpagenum = $navpagenum == $pagenum?" class="hover "":"" ;
$amongnav.="{$navpagenum} ";
}
}
$ firstnav.$prevnav を返します。 $amongnav.$nextnav.$lastnav." ".$pagenum."/".$pagecount." [".$rowcount."] 個のデータがあります";
}
}


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/444805.html技術記事 2 つのスーパー PHP チュートリアル ページング クラス コード? php /** * 説明: スーパー ページング クラス、4 つのページング モード、デフォルトのページング スタイルは Baidu と Google に似ています。 * 2.0で追加された機能: カスタムスタイルをサポート...
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PHPの目的:動的なWebサイトの構築PHPの目的:動的なWebサイトの構築Apr 15, 2025 am 12:18 AM

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

PHP:データベースとサーバー側のロジックの処理PHP:データベースとサーバー側のロジックの処理Apr 15, 2025 am 12:15 AM

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO)PHPでのSQL注入をどのように防止しますか? (準備された声明、PDO)Apr 15, 2025 am 12:15 AM

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPおよびPython:コードの例と比較PHPおよびPython:コードの例と比較Apr 15, 2025 am 12:07 AM

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

アクション中のPHP:実際の例とアプリケーションアクション中のPHP:実際の例とアプリケーションApr 14, 2025 am 12:19 AM

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

PHP:インタラクティブなWebコンテンツを簡単に作成しますPHP:インタラクティブなWebコンテンツを簡単に作成しますApr 14, 2025 am 12:15 AM

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPython:2つの一般的なプログラミング言語を比較しますPHPとPython:2つの一般的なプログラミング言語を比較しますApr 14, 2025 am 12:13 AM

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

PHPの永続的な関連性:それはまだ生きていますか?PHPの永続的な関連性:それはまだ生きていますか?Apr 14, 2025 am 12:12 AM

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

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版

SublimeText3 Mac版

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

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません