ホームページ >バックエンド開発 >PHPチュートリアル >Google Chrome ブラウザのダウンロード PHP 一般ページング クラス pagephp [Google ページングの模倣]
page.php
コードをコピーします コードは次のとおりです:
/**
** 一般的な PHP ページング クラス。 (Google スタイルを模倣)
** レコードの総数とページごとの表示数の 2 つのパラメーターを指定するだけです。 (詳細な手順は添付されています。)
** URLを指定する必要はありません。リンクはプログラムによって生成されます。検索結果のページングに便利です。
** フォームは GET メソッドを使用して送信されます。これにより、クエリや削除などの操作中に URL パラメータが失われないようになります
**/
class Pager{
//IE アドレスバーアドレス
var $url;
//総レコード数
var $countall;
//総ページ数
var $page;
//ページ番号リンク
var $thestr;
//前のページのリンク
var $backstr;
//現在のページ番号
var $pg;
//ページごとのレコード数を表示します
var $countlist;
//ページめくりスタイル
var $style
//この関数は、このクラスをインスタンス化するときに自動的に実行されます
function Pager($countall ,$countlist,$style="page"){
//レコード数と各ページに表示される件数が統合できない場合、ページ番号の余りを1加算します
$this->countall = $カウントオール;
$this-> カウントリスト = $countlist;
if ($this->countall%$this->カウントリスト!=0) ;page=sprintf("%d ",$this->countall/$this->countlist)+1;
}else{
$this->page=$this->countall/$this-> ;countlist;
}
$this ->pg=$_GET["pg"];
//指定されていない場合、ページは 1 ページから始まることを保証します
if (!ereg("^[1-9][0-9 ]*$ ",$this->pg) || empty($this->pg)){
$this->pg=1;
}
//ページ番号が最大範囲を超えています。最大値
if ($this ->pg>$this->page){
$this->pg=$this->page;
}
//現在の URL を取得します。特定の実装については、下部の関数エンティティを参照してください
$this->url = Pager::getUrl();
//間違った形式のページ番号を正しいページ番号に置き換えます
if(isset($_GET[" pg"]) && $ _GET["pg"]!=$this->pg){
$this->url=str_replace("?pg=".$_GET["pg"],"?pg= $this->pg ",$this->url);
$this->url=str_replace("&pg=".$_GET["pg"],"&pg=$this->pg", $this->url );
}
//12345 などの数値の形式でページネーションを生成します。
if ($this->pagefor ($i=1;$ipage+1;$i++){
$this->gt;thestr=$this-> ;thestr.Pager::makepg($i,$this->pg);
}
}else{
if ($this->pgfor ($i=1;$i$this->thestr=$this-> thestr.Pager::makepg($i,$this->pg);
}
}else{
if (6+$this->pg<=$this->page){
for ($i=$this->pg-4;$i<$this-> pg+6;$i++){
$this->thestr=$this->thestr.Pager::makepg($i,$this->pg);
}
}else{
for ($i=$this->pg-4;$i<$this->page+1;$i++){
$this->thestr=$this-> thestr.Pager::makepg($i,$this->pg);
}
}
}
}
//生成上页下页等文字链接
$this->backstr = Pager::gotoback($this->pg);
$this->nextstr = Pager::gotonext($this->pg,$this->page);
//echo (" 共".$this->countall." 条,每页".$this->countlist."条,共".$this->page."页".$this- >backstr.$this->thestr.$this->nextstr);
}
// 数字分を生成する補助関数
function makepg($i,$pg){
if ($i==$pg){
return "
}else{
return " style."'>".$i."";
}
}
// 上一页等情報の関数を生成
function gotoback($pg){
if ($pg-1>0){
return $this->gotoback=" style."'>首页 style."'>上一页";
}else{
return $this->gotoback="
}
}
//下一页等情報の関数数を生成
function gotonext($pg,$page){
if ($pg < $page){
return " style."'>下一页 style."'>尾页";
}else{
return "
}
}
//処理url中$pgのメソッド、自動生成用pg=x
function replacepg($url,$flag,$i){
if ($flag == 1){
$temp_pg = $this->ページ;
return str_replace("pg=".$temp_pg,"pg=".($this->pg+1),$url);
}else if($flag == 2) {
$temp_pg = $this->pg;
return str_replace("pg=".$temp_pg,"pg=".($this->pg-1),$url);
}else if($flag == 3) {
$temp_pg = $this->pg;
return str_replace("pg=".$temp_pg,"pg=1",$url);
}else if($flag == 4){
$temp_pg = $this->pg;
return str_replace("pg=".$temp_pg,"pg=".$this->page,$url);
}else if($flag == 5){
$temp_pg = $this->pg;
return str_replace("pg=".$temp_pg,"pg=".$i,$url);
}else{
$url を返す;
}
}
//現在のURLを取得する方法
function getUrl(){
$url="http://".$_SERVER["HTTP_HOST"];
if(isset($_SERVER["REQUEST_URI"])){
$url.=$_SERVER["REQUEST_URI"];
}else{
$url.=$_SERVER["PHP_SELF"];
if(!empty($_SERVER["QUERY_STRING"])){
$url.="?".$_SERVER["QUERY_STRING"];
}
}
//現在のURL里に追加pg=x字样
if (!ereg("(pg=|PG=|pG=|Pg=)", $url)){
if (!strpos( $url,"?")){
$url = $url."?pg=1";
}else{
$url = $url."&pg=1";
}
}
$url を返す;
}
}
?>
以上、Google Chrome ブラウザのダウンロードを介して PHP 汎用分級pagephp[Google 分鵵]、Google Chrome ブラウザのダウンロードに関する内容が含まれており、PHP 教程に関心のある友人の助けを希望します。