ホームページ  >  記事  >  バックエンド開発  >  比較的単純な PHP ページング グループ化 class_PHP チュートリアル

比較的単純な PHP ページング グループ化 class_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:42:30710ブラウズ

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

class mysqlPager{
var $pagePerNum=5;//各ページに表示されるデータ項目の数
var $pagePerGroup=5;//各ページンググループのページ数
var $curPage=0; //現在のページ、デフォルトの最初のページ
var $totalPage=0;//総ページ数
var $totalNum=0;//総データ項目数
var $curPageGroup=0;//現在のページンググループ
var $ curPageUrl=""; //現在使用されているページング URL
var $custom;//カスタム スタイル
var $pageQuerySql="";
function mysqlPager(){//Constructor PHP4
}
/**
* すべての変数を初期化します
* /
function InitAllVar($totalNum,$pagePerGroup,$curPageUrl,$curPage=1,$curPageGroup=1)
{
$this->totalNum=$totalNum;
$this->pagePerGroup=$pagePerGroup; $ this->curPageUrl=$curPageUrl;
$this->curPage=$curPage;
}
/**
* 現在のページ変数を設定します
*
* @paramnumber $curPage
*/
function setCurPage($curPage)
{
$this->curPage=$curPage;
}
/**
* 現在のページング グループ変数を設定します
*
* @parammixed $curPageGroup
*/
function setCurPageGroup($curPageGroup)
{
$this->curPageGroup=$curPageGroup;
/**
* 現在使用している配布クラスの URL を設定します
* $curPageUrl 文字列
*/
function setCurPageUrl($curPageUrl)
{
$this->curPageUrl=$curPageUrl;
}
/**
* すべて取得
*
* @param 番号 $totalNum
* @param 番号 $curPage
* @return float
*/
function getTotalPage($totalNum,$curPage=0)
{
return $this->totalPage=ceil($totalNum/$this->pagePerNum);
}
/**
* ユーザー定義スタイルを設定します
*
* @parammixed $customStyle
*/
function setCustomStyle($customStyle)
{
$this->customStyle= $customStyle
}
/**
* 文字列を返すようにユーザー定義のスタイルを設定します
*
*
* @parammixed $pagerString
*/
function setCustomStyleString($pagerString)
{
return $styleString="".$pagerString."< /span>";
}
/**
* パラメーターなしでナビゲーション ページ情報を出力しますが、使用する前に対応する変数を設定する必要があります
*
* @parammixed$curPageGroup
* @parammixed$curPage
* @parammixed$curPageUrl
*/
function showNavPager($curPageGroup=0,$curPage=0,$curPageUrl=0)
{
if($curPageGroup)
{
$this-> ; curPageGroup=$curPageGroup;
}
if($curPage)
{
$this->curPage=$curPage;
if($curPageUrl)
{
$this->curPageUrl=$curPageUrl;
}
$rtnString="";
//変数が初期化されているかどうかを判断する
if($this->curPageGroup && $this->curPageUrl && $this->totalNum && $this->curPage)
{
$ this->totalPage=$this->getTotalPage($this->totalNum);
if($this->curPage==1)
$this->curPage=($this-> curPageGroup- 1)*$this->pagePerGroup+1;
if($this->curPageGroup!=1)
{
$prePageGroup=$this->curPageGroup-1;
$rtnString.="< a href =".$this->curPageUrl."?cpg=$prePageGroup >".$this->setCustomStyleString("<<")." ";
}
for( $i =1;$i<=$this->pagePerGroup;$i++)
{
$curPageNum=($this->curPageGroup-1)*$this->pagePerGroup+$i;
if($curPageNum< ;= $this->totalPage){
if($curPageNum==$this->curPage)
{
$rtnString.=" ".$this->setCustomStyleString($curPageNum);
}else
{
$ rtnString.=" curPageUrl?cpg={$this->curPageGroup}&cp=$curPageNum >"; ). "";
}
}
}
if($this->curPageGrouptotalPage/$this->pagePerGroup)-1)
{ =$ this->curPageGroup+1;
$rtnString.=" curPageUrl?cpg=$nextPageGroup >".$this->setCustomStyleString(">>") ." ";
}
$this->pageQuerySql=" 制限 ".(($this->curPage-1)*$this->pagePerNum).",".$this- > pagePerNum;

}
else
$rtnString="エラー: 変数が初期化されていません! ";
}
return $rtnString;
}
/**
* MYSQL をクエリするための完全な SQL ステートメントを取得します
*
* @parammixed$sql
*/
function getQuerySqlStr($sql)
{
$allsql=$sql.$this->pageQuerySql;
return $allsql;
}
/**
* 各ページに存在するデータ項目の数を設定します
*
* @param INT $num
*/
関数 setPagePerNum($num)
{
$this->pagePerNum=$num;
}
}
?>
$curPage=$_GET['cp ' ];
$curPageGroup=$_GET['cpg']
if($curPage=="")
$curPage=1;
if($curPageGroup=="")
//両方は 1 から始まり、インジェクションを防ぐために受信データを検証する必要があります
//。
$pager=new MysqlPager();
$pager->initAllVar(...)
$pager->showNavPager();
//次の SQL は任意の出力になります
$sql="select id form dbname ";
$querysql=$pager->getQuerySqlStr($sql)
//今後、$querysql を使用してデータベースにクエリを実行し、対応する結果セットを取得できます

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/320953.html技術記事次のようにコードをコピーします: ?php class mysqlPager{ var $pagePerNum=5;//各ページに表示されるデータ項目の数 var $pagePerGroup=5;//各ページング グループのページ数 var $curPage=0;//現在のページ、デフォルトファースト...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。