原始 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%	下一頁