原始 ThinkPHP 的分頁類比較陽春,也不支援靜態分頁,所以著手改寫了一個…

特色

  • 類似 Google 的分頁方式
  • 支援動、靜態分頁(PATH_INFO)

圖例




下載

使用

//将 SimplePage.class.php 放入 ThinkPHP/Lib/ORG/Util
import('ORG.Util.SimplePage');

/*
 * $rows       = 總筆數(必須 / 整數)
 * $perpage    = 每頁顯示筆數(必須 / 數值)
 * $display    = 分頁數目(可選 / 數值 / 預設 = 10)
 * $wrap       = 包覆的 HTML(可選 / 字串 / 預設 = 無,例如 li, p...)
 * $parameter  = 附加 URL 參數(可選 / 字串 / 預設 = 無,例如 foo=foo&foo1=foo1)
 */
$page = new SimplePage($rows, $perpage, $display, $wrap, $parameter);
echo $page->show();

範例

//總筆數 100, 每頁顯示 10 筆,顯示 5 個分頁,使用 ...
$page = new SimplePage(10, 10, 5, 'li');
$result = M(...)->limit("$page->firstRow,$page->listRows")->select();
echo $page->show();

類屬性

//指定
$page = new Simple(...);
$page->display = 10; //顯示 10 個分頁
$page->wrap = 'li';
$page->parameter = 'succes=1'; // 附加 URL 參數
echo $page->show();

//取得
$row = $page->firstRow; // 第一筆的位置
$row = $page->listRows; // 每頁顯示筆數

Config 組態

$page->setConfig(name, value);

name		value (default)
========================================================
records	Record:		筆數標題
page		Page:			頁數標題
prev		<			上一頁文字
next		>			下一頁文字
first		|<			第一頁文字
last		>|			最末頁文字

theme

%wrapL%	包覆左側的 HTML 標籤
%wrapR% 	包覆右側的 HTML 標籤
%records%	總筆數標題
%totalRow% 總筆數
%page%	總頁數標題
%nowPage% 目前頁
%totalPage% 總頁數
%first%	第一頁
%last%	最末頁
%linkPage%	 頁數
%prev%	上一頁
%next%	下一頁