PHP ページめくりのサンプル コードを参照してください。
クラスページ
{
private $pageSize;//1 ページあたりの行数
private $absolutePage;//現在のページ
private $pageCount;//総ページ数
private $totalNum;//総行数
private $prePage;//前のページ
private $nextPage; //次のページ
プライベート $sqlStr;
private $baseUrl; //URL GET パラメータなしで転送 URL を取得
function __construct($pagesize,$absolutepage,$baseurl,$sqlStr)
{
$this->absolutePage = $absolutepage
$this->pageSize = $pagesize
$this->baseUrl = $baseurl
$this->sqlStr = $sqlStr
}
//メインコンテンツを表示
パブリック関数 listinfo()
{
$result = DBHelper::ExecuteCommand($this->sqlStr);
// $result = mysql_query($this->sqlStr,$conn);
$this->totalNum = mysql_num_rows($result);//結果セット内のすべての行の数を取得します
$this->pageCount = (int)(($this->totalNum -1)/$this->pageSize)+1; // 合計ページ数を計算します
if($this->absolutePage == "" !is_numeric($this->absolutePage))//初めてページを読み込む場合、このときabsolutePageの値は空でなければならないと考えます。ユーザーが初めて訪問する場合は、最初のページを見せるだけです (もちろん、必要に応じて 5 ページ目を見せることもできます)
{
$this->absolutePage = 1;//最初のページを彼に見せます
}
if($this->absolutePage > $this->pageCount)//リクエストされた次のページのページ番号が総ページ数を超えた場合、最後のページを表示します
{
$this->absolutePage = $this->pageCount;//最後のページを表示します
}
if ($this->totalNum > 1 && $this->absolutePage > 1) //前のページを表示する条件が満たされている場合、前のページのページ番号変数の値を等しくします現在のページ (absolutePage) から 1 を引いた
{
$this->prePage = $this->absolutePage -1;
}
if($this->absolutePage >= 1 && $this->absolutePage < $this->pageCount)//現在のページが 1 以上で以下の場合、次のページ変数に値を代入します総ページ数を現在のページに 1 加えます
{
$this->nextPage = $this->absolutePage + 1;
}
if (mysql_data_seek($result,($this->absolutePage -1) * $this->pageSize))//結果セットからのデータの取得を開始する場所を決定する//結果セットからデータの取得を開始する場所を決定するmysql_data_seek は次の行
を指します
{
include("goodsTemplate.php");
for ($i = 0; $i < $this->pageSize; $i++)
{
if(($info = mysql_fetch_array($result)))
{
$name = $info['グッズ名']
$tupian = $info['グッズフォポ']
$id = $info['グッズID']
$price = $info['商品価格']
;
$url = 'detail.php?id='.$id
$items = str_replace(array('{name}','{tupian}','{url}','{price}','{id}'),array($name,$tupian,$url,$ Price,$id),$goodsContent);//str_replace は 2 つの配列を置換し、2 番目の配列は最初の配列を置換します。$goodsContent パラメータは置換されるオブジェクトです
。
$cishu++
エコー $アイテム
if ($cishu % 4 == 0)
{
?>
}
}
}
}
}
//ページングアクション関数
パブリック関数 toPage()
{
include('toPageTemplate.php');
if($this->totalNum > 1 && $this->absolutePage > 1)
{
$this->prePage = $this->absolutePage - 1;
}
if($this->absolutePage >= 1 && $this->absolutePage < $this->pageCount)
{
$this->nextPage = $this->absolutePage + 1;
}
$preUrl = $this->baseUrl."?absolutePage=$this->prePage";
$nextUrl = $this->baseUrl."?absolutePage=$this->nextPage";
$items = str_replace(array('{totalNum}','{absolutePage}','{pageCount}','{preUrl}','{nextUrl}'),array($this->totalNum,$this- >absolutePage,$this->pageCount,$preUrl,$nextUrl),$toPage);
エコー $アイテム
}
}
?>