ホームページ >バックエンド開発 >PHPチュートリアル >ページめくり処理を実現するPHPクラス
ページめくり処理を実装するPHPクラス
PHPインスタンスのソースコード:ページめくり処理を実装したPHPクラス
クラスページ{
var $CountAll; //レコードの総数
var $CountPage; //ページごとのレコード数を表示
var $ForPage;上のページ
var $NextPage; //次のページ
var $LastPage; //最後のページ
var $CurrPage; $PageNum; //ページは何ページありますか?
var $Parameter; //Parameter
var $LimitNum; //たとえば、合計 100 件のレコードが表示されます。ただし、統計には最初の 50 項目のみが表示されます
関数 Page($sql, $num=30){
$this->CountPage = $num;
$sql =base64_decode($sql); $mysql ->Query($sql);if (0 != $mysql->AffectedRows()){
$row = $mysql->FetchArray($result); this- >CountAll = $row[0];
}
else{
$this->CountAll = 0;
//print "合計 $this->すべてカウント < ;br>";
}
function ListPage($sql, $page=0,$sql_all,$other){
//クエリ、変数の定義、データの取得
global $mysql;
//print "sql sql
";
if (isset($this->LimitNum) && $this->CountAll > $this->LimitNum ){
}//閲覧レコードの総数を更新します
//if ($page > 0){
$sql = Base64_decode($sql);
$sql_src = $sql;
//}
//echo $sql;
$pagecount = (integer)($this->CountAll/$this->CountPage); があります。
else
$pagecount = (integer)($this->CountAll/$ this- >CountPage)+1;
$this->ageNum = $pagecount;
if ($page > $this->ageNum)// ページ番号が合計ページ番号を超える場合、最大ページ番号に設定します
$page = $this->ageNum;
if ($page $ページ = 1
;
if ($this->CountAll == 0)
{
$this->CurrPage = 0;
}else{
$this->CurrPage = $page;
}
$first_start = ($page-1)*$this->CountPage;
//print "2sql
";
$result = $mysql->Query($sql);
if (0 != $mysql->AffectedRows()) 🎜>$i = 0;
while($row = $mysql->FetchArray($result)){
$array[$i] = $row>//print "name:" .$array[$i][名前]."
$i++>}
}
;
$sql = Base64_encode($sql_src);
$sql_all = Base64_encode($sql_all);
if ($pagecount >1){
if($page == 1){
$nextpage = $page+1;
$forpage = 1;
$this->Link = "Parameter."&sql_all=".$sql_all."".$other."'" class= "button_a" style="width:30;height:22";>
$this->NextPage = "$this->LastPage = "}
else if(($page > 1)&&($page < $pagecount)) {
$forpage = $page-1;
$nextpage = $page+1;
$this->Link = "
return $array;//$array;
}
}
/***************
使用例
include("class.config.php");
include("class.page.php"); 🎜>$config = 新しい構成;
$mysql = 新しい TDatabase($config);
$query_all = "select count(*) from user";
$page_object = new Page($query_all,20)
//new Page('統計レコード番号ステートメント'、ページ番号ごとのレコード) )
$query_sql = "select * from user";
//次のページへの接続のため、ここでの変数名は $query_sql $query_page である必要があることに注意してください。パラメータのデフォルトは query_sql query_page
$list = $page_object->ListPage($query_sql,$query_page);
//ListPage('制限の最初の部分がなければ、システムは表示されたページ数を自動的に入力します)
$ page_object->Parameter = '&action=view';
for ($i=0;$i< $page_object->CountPage;$i++)
print $list[$i][ID]."->".$list [$i][UserName ]."
";
//返されるデータは 2 次元のハッシュ (関連付け) 配列で、1 次元はレコードの識別 ID 番号、2 次元は値の識別の提案 list[0][UserName] など、データベース内のフィールド名を使用する方法を使用します。
//他の関連データを表示します
echo $page_object->CountAll;//レコードの総数
echo $page_object->CountPage;//各ページに表示されるデータの数
echo $page_object- >Link;//完全なページング情報を表示
echo $page_object->NextPage;//次のページ
echo $page_object- >ForPage;//前のページ
echo $page_object->LastPage;//最後のページ
echo $page_object->CurrPage;//どのページ
echo $page_object->PageNum;/ /ページは何ページありますか?
$mysql->DatabaseClose();
*****************/
?>