class Page
{
private $pageSize;//ページごとの行数
private $absolutePage;//現在のページ
private $pageCount;//総ページ数
private $totalNum;//総行数
private $prePage; //前のページ
private $nextPage; //次のページ
private $sqlStr;
private $baseUrl; //GETパラメータなしで送信URLを取得
function __construct($pagesize,$absolutepage,$baseurl,$ sqlStr )
{
$this->absolutePage = $absolutepage;
$this->pageSize = $pagesize;
$this->baseUrl = $baseurl;
$this->sqlStr = $sqlStr;
}
//メインコンテンツを表示
public function 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->
if($this->absolutePage >= 1 && $this->absolutePage < $this->pageCount)//現在のページが少なくとも; 1 および合計ページ数以下 現在のページに 1 を追加します。;pageSize))//結果セットからのデータの取得を開始する場所を決定します//結果セットからデータの取得を開始する場所を決定します mysql_data_seek は次のページを指します。 line
{
include("goodsTemplate.php");
for ($i = 0; $i < $this->pageSize; $i++)
{
if(($info = mysql_fetch_array($result)) )
{
$name = $info['GoodsName'];
$tupian = $info['GoodsPhopo'];
$id = $info['GoodsId'];
$price = $info['GoodsPrice'] ;
$url = 'detail.php?id='.$id; items = str_replace('{name}','{tupian}','{url}','{price}','{id }'),array($name,$tupian,$url,$price ,$id),$goodsContent);//str_replace は 2 つの配列を置き換えます。$goodsContent パラメーターは、最初の配列を置き換えます。交換。 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);
echo $items;
}
}
?>