ホームページ  >  記事  >  php教程  >  非常に優れた PHP ページめくりクラス

非常に優れた PHP ページめくりクラス

WBOY
WBOYオリジナル
2016-06-13 12:24:08965ブラウズ

コードをコピー コードは次のとおりです:


/*
* 2007-6 作成-8
* プログラマー: Alan , Msn - haowubai@hotmail.com
* bkJia.com プロジェクトの開発 PHP - MySQL - Apache
* ウィンドウ - 設定 - PHPeclipse - PHP - コード テンプレート
* /
//ファイルを繰り返しインクルードすることによって発生するエラーを回避するために、関数が存在するかどうかを判断する条件が追加されます:
if(!function_exists(pageft)){
//関数 pageft を定義します()、3 つのパラメータの意味は次のとおりです:
//$totle: 情報の総数;
//$displaypg: 各ページに表示される情報の数、ここでのデフォルト設定は 20 です。
//$url: ページングナビゲーション内のリンクに別の追加を加えま​​す。 「ページ」以外のクエリ情報はこの URL と同じです。
// デフォルト値はこのページの URL (つまり $_SERVER["REQUEST_URI"]) に設定する必要がありますが、デフォルト値の右側は定数のみであるため、デフォルト値は空の文字列を関数内でこのページの URL として設定します。
function pageft($totle,$displaypg=20,$url=''){

//いくつかのグローバル変数を定義します:
//$page: 現在のページ番号;
/ /$firstcount: (データベース) クエリの開始項目。
//$pagenav: 関数内では出力されないページ ナビゲーション バーコード。
//$_SERVER: このページの URL を読み取ります。 「$_SERVER ["REQUEST_URI"]」が必要です。
global $page,$firstcount,$pagenav,$_SERVER;

//ここでの「$displaypg」を関数外からアクセスできるようにするために、グローバル変数として設定します。変数をグローバル変数として再定義すると、元の値が上書きされるため、ここで再代入することに注意してください。
$GLOBALS["displaypg"]=$displaypg;

if(!$page) $page=1;

//$url が空のデフォルト値を使用する場合次に、このページの URL に値を割り当てます:
if(!$url){ $url=$_SERVER["REQUEST_URI"];}

//URL 分析:
$parse_url =parse_url($url) ;
$url_query=$parse_url["query"]; //URL のクエリ文字列を別途取得
if($url_query){
//URL に含まれる可能性があるためページ番号情報を削除して、新しいページ番号情報を追加する必要があります。
//ここでは正規表現が使用されています。「PHP の正規表現」を参照してください。
$url_query=ereg_replace("(^|&)page=$page","",$url_query);
//処理された URL のクエリ文字列を元の URL のクエリ文字列に置き換えます:
$url=str_replace($parse_url["query"],$url_query,$url); >// URL の後にページ クエリ情報を追加しますが、割り当てを待ちます:
if($url_query) $url.="&page";
}else {
$url.="?page";
}

//ページ番号の計算:
$lastpg=ceil($totle/$displaypg); //最後のページも合計番号になりますページ数
$page=min($lastpg,$page);
$prepg=$page-1; //前のページ
$nextpg=($page==$lastpg ? 0 : $page 1 ; ".($totle?($firstcount 1):0)."-".min($firstcount $displaypg,$totle)." レコード、合計$ totle records";

// ページが 1 つしかない場合は、関数から抜けます:
if($lastpg<=1) return false;

$pagenav.= " ホームページ ";
if($prepg) $pagenav.=" 前のページ< ;/a> ; "; else $pagenav.=" 前のページ";
if($nextpg) $pagenav.="
次のページ ; else $pagenav.=" 次のページ";
$pagenav.=" 最後のページ "; down to Jump リストに移動し、ループ内のすべてのページ番号をリストします:
$pagenav.= Go to $lastpg>}
}
?>

/ *
/ / (前の手順は省略します)

include("pageft.php"); //「pageft.php」ファイルをインクルードします
//情報の総数を取得します
$result=mysql_query("select * from mytable");
$total=mysql_num_rows($result);
//pageft() を呼び出して、1 ページあたり 10 個の情報を表示します (デフォルトの 20 個を使用する場合) 、このパラメータは省略できます)、このページの URL を使用します(デフォルトなので省略)。
pageft($total,10);
//生成されたグローバル変数が便利になります:
$result=mysql_query("select * from mytable limit $firstcount,$displaypg "); while($row=mysql_fetch_array($result)){
//(リストの内容は省略)
}

//ページング ナビゲーション バーコードを出力します:
echo $pagenav;
//(以降の手順は省略)
*/
?>


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。