PHP 翻頁 實例代碼
更新時間:2009年08月07日 01:00:34 作者:
PHP 翻頁 實例代碼,大家可以參考下。
復(fù)制代碼 代碼如下:
<?php
class Page
{
private $pageSize;//每一頁多少行
private $absolutePage;//當(dāng)前頁
private $pageCount;//總頁碼數(shù)
private $totalNum;//總行數(shù)
private $prePage;//上一頁
private $nextPage; //下一頁
private $sqlStr;
private $baseUrl; //不帶GET參數(shù)的URL get傳輸網(wǎng)址
function __construct($pagesize,$absolutepage,$baseurl,$sqlStr)
{
$this->absolutePage = $absolutepage;
$this->pageSize = $pagesize;
$this->baseUrl = $baseurl;
$this->sqlStr = $sqlStr;
}
//顯示主體內(nèi)容
public function listinfo()
{
$result = DBHelper::ExecuteCommand($this->sqlStr);
// $result = mysql_query($this->sqlStr,$conn);
$this->totalNum = mysql_num_rows($result);//取處結(jié)果集的所有行數(shù)
$this->pageCount = (int)(($this->totalNum -1)/$this->pageSize)+1; //計算出一共有多少頁
if($this->absolutePage == "" || !is_numeric($this->absolutePage))//如果是頁面第一次加載那么absolutePage的值一定是空的這時我們認為用戶是第一次訪問就給他看第一頁(當(dāng)然你如果想給他看第5頁也可以)
{
$this->absolutePage = 1;//給他看第一頁
}
if($this->absolutePage > $this->pageCount)//如果請求的下一頁的頁碼超過了總頁數(shù)我們就顯示最后一頁
{
$this->absolutePage = $this->pageCount;//顯示最后一頁
}
if ($this->totalNum > 1 && $this->absolutePage > 1) //如果滿足顯示上一頁的條件我們就讓上一頁的頁碼變量的值等于當(dāng)前頁(absolutePage)減一
{
$this->prePage = $this->absolutePage -1;
}
if($this->absolutePage >= 1 && $this->absolutePage < $this->pageCount)//在當(dāng)前頁至少是1并且不大于總頁數(shù)時給下一頁變量賦值為當(dāng)前頁加1
{
$this->nextPage = $this->absolutePage + 1;
}
if (mysql_data_seek($result,($this->absolutePage -1) * $this->pageSize))//決定從結(jié)果集的哪個位置開始檢索數(shù)據(jù)//決定從結(jié)果集的哪個位置開始檢索數(shù)據(jù) mysql_data_seek指向下一行
{
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(array('{name}','{tupian}','{url}','{price}','{id}'),array($name,$tupian,$url,$price,$id),$goodsContent);//str_replace替換兩個數(shù)組 第二個替換第一個數(shù)組,$goodsContent參數(shù)是要替換的對象
$cishu++;
echo $items;
if ($cishu % 4 == 0)
{
?>
</tr><tr>
<?php
}
}
}
}
}
//分頁動作函數(shù)
public function 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);
echo $items;
}
}
?>
相關(guān)文章
php+ajax導(dǎo)入大數(shù)據(jù)時產(chǎn)生的問題處理
介紹:就是想實現(xiàn)簡單的ajax上傳數(shù)據(jù),但是當(dāng)數(shù)據(jù)量較大的時候,問題就一個一個接著來了,其實數(shù)據(jù)也不是很大,就是csv格式數(shù)據(jù) 不到5w條數(shù)據(jù)。大小5M,一開始認為這個很簡單,就是先上傳一下文件,然后讀取一下,存到數(shù)據(jù)庫就好了,結(jié)果,可能我比較菜,弄了半天做出這個功能。環(huán)境是linux.2014-06-06Zend Framework教程之MVC框架的Controller用法分析
這篇文章主要介紹了Zend Framework教程之MVC框架的Controller用法,簡單分析了MVC框架的基本結(jié)構(gòu)與Controller控制器的簡單使用方法,需要的朋友可以參考下2016-03-03thinkPHP5實現(xiàn)數(shù)據(jù)庫添加內(nèi)容的方法
這篇文章主要介紹了thinkPHP5實現(xiàn)數(shù)據(jù)庫添加內(nèi)容的方法,結(jié)合實例形式較為詳細的分析了thinkPHP5數(shù)據(jù)庫的配置、模型、控制器的使用及數(shù)據(jù)插入相關(guān)操作技巧,需要的朋友可以參考下2017-10-10