一個比較簡單的PHP 分頁分組類
更新時間:2009年12月10日 21:30:30 作者:
最近寫的一個PHP 分頁分組類,寫完后才看到,網(wǎng)上有太多的了,但是這個比較簡單,記到此處,備用,對于學習php的朋友也是一個不錯的參考。
復制代碼 代碼如下:
<?php
class mysqlPager{
var $pagePerNum=5;//每頁顯示數(shù)據(jù)項數(shù)
var $pagePerGroup=5;//每分頁組中頁數(shù)
var $curPage=0;//當前頁,Defualt 第一頁
var $totalPage=0;//總頁數(shù)
var $totalNum=0;//數(shù)據(jù)項總數(shù)
var $curPageGroup=0;//當前分頁組
var $curPageUrl="";//當前用到分頁的 URL
var $customStyle="";//自定義風格
var $pageQuerySql="";
function mysqlPager(){//構造函數(shù) PHP4
}
/**
* 初始化所有變量
*/
function InitAllVar($totalNum,$pagePerGroup,$curPageUrl,$curPage=1,$curPageGroup=1)
{
$this->totalNum=$totalNum;
$this->pagePerGroup=$pagePerGroup;
$this->curPageUrl=$curPageUrl;
$this->curPage=$curPage;
$this->curPageGroup=$curPageGroup;
}
/**
* 設置當前頁變量
*
* @param 數(shù)字 $curPage
*/
function setCurPage($curPage)
{
$this->curPage=$curPage;
}
/**
* 設置當前分頁組變量
*
* @param mixed $curPageGroup
*/
function setCurPageGroup($curPageGroup)
{
$this->curPageGroup=$curPageGroup;
}
/**
* 設置當前用到分布類的URL
* $curPageUrl string
*/
function setCurPageUrl($curPageUrl)
{
$this->curPageUrl=$curPageUrl;
}
/**
* 獲取所有
*
* @param 數(shù)字 $totalNum
* @param 數(shù)字 $curPage
* @return float
*/
function getTotalPage($totalNum,$curPage=0)
{
return $this->totalPage=ceil($totalNum/$this->pagePerNum);
}
/**
* 設置用戶自定義風格
*
* @param mixed $customStyle
*/
function setCustomStyle($customStyle)
{
$this->customStyle=$customStyle;
}
/**
* 設置用戶自定義風格返回字符串
*
*
* @param mixed $pagerString
*/
function setCustomStyleString($pagerString)
{
return $styleString="<span class=".$customStyle.">".$pagerString."</span>";
}
/**
* 輸出導航頁信息 可以不用參數(shù),但是在使用前一定要設置相應的變量
*
* @param mixed $curPageGroup
* @param mixed $curPage
* @param mixed $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="";
//判斷變量是否以經(jīng)初始化
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("<<")."</a> ";
}
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.=" <a href=$this->curPageUrl?cpg={$this->curPageGroup}&cp=$curPageNum >";
$rtnString.=$this->setCustomStyleString($curPageNum)."</a>";
}
}
}
if($this->curPageGroup<ceil($this->totalPage/$this->pagePerGroup)-1)
{
$nextPageGroup=$this->curPageGroup+1;
$rtnString.=" <a href=$this->curPageUrl?cpg=$nextPageGroup >".$this->setCustomStyleString(">>")."</a>";
}
$this->pageQuerySql=" limit ".(($this->curPage-1)*$this->pagePerNum).",".$this->pagePerNum;
}
else
{
$rtnString="錯誤:變量未初始化!";
}
return $rtnString;
}
/**
* 得到完整的查詢MYSQL的Sql語句
*
* @param mixed $sql
*/
function getQuerySqlStr($sql)
{
$allsql=$sql.$this->pageQuerySql;
return $allsql;
}
/**
* 設置每頁有多少數(shù)據(jù)項
*
* @param INT $num
*/
function setPagePerNum($num)
{
$this->pagePerNum=$num;
}
}
?>
使用方法:
$curPage=$_GET['cp'];
$curPageGroup=$_GET['cpg']
if($curPage=="")
$curPage=1;
if($curPageGroup=="")
$curPageGroup=1;
//都是從1開始,之前要對傳入的數(shù)據(jù)進行驗證,防注入
//。。。
$pager=new MysqlPager();
$pager->initAllVar(...)
$pager->showNavPager();
//后面的SQL可以是任意的輸出
$sql="select id form dbname ";
$querysql=$pager->getQuerySqlStr($sql)
//以后用$querysql 查詢數(shù)據(jù)庫就可以得到相應的結果集了
相關文章
PHP中關于PDO數(shù)據(jù)訪問抽象層的功能操作實例
下面小編就為大家?guī)硪黄狿HP中關于PDO數(shù)據(jù)訪問抽象層的功能操作實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
jQuery向下滾動即時加載內(nèi)容實現(xiàn)的瀑布流效果
下拉滾動條或鼠標滾輪滾動到頁面底部時, 動態(tài)即時加載新內(nèi)容,通過本文給大家介紹jQuery向下滾動即時加載內(nèi)容實現(xiàn)的瀑布流效果,感興趣的朋友參考下2016-01-01
114啦源碼(114la)不能生成地方房產(chǎn)和地方報刊問題4級頁面0字節(jié)的解決方法
做了個網(wǎng)址導航站,用的是114la的源碼,沒想到里面有很多問題,官方也沒出補丁,沒辦法,自己學著改吧2012-01-01
php實現(xiàn)將數(shù)據(jù)做成json的格式給前端使用
今天小編就為大家分享一篇php實現(xiàn)將數(shù)據(jù)做成json的格式給前端使用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08

