WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營銷
- 虛擬主機(jī)管理系統(tǒng)
- 開放平臺(tái)
- WIKI程序與應(yīng)用
- 美國十大主機(jī)
ThinkPHP開發(fā)指南-雜項(xiàng)-數(shù)據(jù)分頁
來自站長百科
導(dǎo)航:返回上一頁
通常在數(shù)據(jù)查詢后都會(huì)對數(shù)據(jù)集進(jìn)行分頁操作,ThinkPHP也提供了分頁類來對數(shù)據(jù)分頁提供支持。分頁類位于擴(kuò)展類庫下面,需要先導(dǎo)入才能使用(關(guān)于如何導(dǎo)入擴(kuò)展類庫,請參考擴(kuò)展指南部分內(nèi)容),下面是數(shù)據(jù)分頁的兩種示例。
- 第一種分頁方法是利用Page類和limit方法:
PHP代碼
$User = M("User"); // 實(shí)例化User對象 import("ORG.Util.Page"); // 導(dǎo)入分頁類 $count = $User->where("status=1")->count(); // 查詢滿足要求的總記錄數(shù) $Page = new Page($count,25); // 實(shí)例化分頁類 傳入總記錄數(shù)和每頁顯示的記錄數(shù) $show = $Page->show(); // 分頁顯示輸出 // 進(jìn)行分頁數(shù)據(jù)查詢 注意limit方法的參數(shù)要使用Page類的屬性 $list = $User->where('status=1')->order('create_time')->limit($Page->firstRow.','.$Page->listRows)->select(); $this->assign('list',$list); // 賦值數(shù)據(jù)集 $this->assign('page',$show); // 賦值分頁輸出 $this->display(); // 輸出模板
- 另外一種方式是分頁類和page方法的實(shí)現(xiàn)
PHP代碼
$User = M("User"); // 實(shí)例化User對象 // 進(jìn)行分頁數(shù)據(jù)查詢 注意page方法的參數(shù)的前面部分是當(dāng)前的頁數(shù)使用 $_GET[p]獲取 $list = $User->where('status=1')->order('create_time')->page($_GET['p'].',25')->select(); $this->assign('list',$list); // 賦值數(shù)據(jù)集 import("ORG.Util.Page"); // 導(dǎo)入分頁類 $count = $User->where("status=1")->count(); // 查詢滿足要求的總記錄數(shù) $Page = new Page($count,25); // 實(shí)例化分頁類 傳入總記錄數(shù)和每頁顯示的記錄數(shù) $show = $Page->show(); // 分頁顯示輸出 $this->assign('page',$show); // 賦值分頁輸出 $this->display(); // 輸出模板
帶入查詢條件
如果是POST方式查詢,如何確保分頁之后能夠保持原先的查詢條件呢,我們可以給分頁類傳入?yún)?shù),方法是給分頁類的parameter屬性賦值:
PHP代碼
import("ORG.Util.Page"); // 導(dǎo)入分頁類 $mapcount = $User->where($map)->count(); // 查詢滿足要求的總記錄數(shù) $Page = new Page($count,25); // 實(shí)例化分頁類 傳入總記錄數(shù)和每頁顯示的記錄數(shù) //分頁跳轉(zhuǎn)的時(shí)候保證查詢條件 foreach($map as $key=>$val) { $Page->parameter .= "$key=".urlencode($val)."&"; } $show = $Page->show(); // 分頁顯示輸出
分頁樣式定制
- 默認(rèn)的分頁輸出效果是
我們可以對輸出的分頁樣式進(jìn)行定制,分頁類Page提供了一個(gè)setConfig方法來修改默認(rèn)的一些設(shè)置。例如:
$page->setConfig('header', '個(gè)會(huì)員'); setConfig方法支持的屬性包括: header:頭部描述信息,默認(rèn)值 “條記錄” prev:上一頁描述信息,默認(rèn)值是“上一頁” next:下一頁描述信息,默認(rèn)值是“下一頁” first:第一頁描述信息,默認(rèn)值是“第一頁” last:最后一頁描述信息,默認(rèn)值是“最后一頁” theme :分頁主題描述信息,包括了上面所有元素的組合 ,設(shè)置該屬性可以改變分頁的各個(gè)單元的顯示位置,默認(rèn)值是 “%totalRow% %header% %nowPage%/%totalPage% 頁 %upPage% %downPage% %first% %prePage% %linkPage% %nextPage% %end%” 通過setConfig設(shè)置以上屬性可以完美的定制出你的分頁顯示風(fēng)格。