thinkphp 分頁類介紹_PHP教程

來源:互聯網
上載者:User

thinkphp 分頁類介紹


thinkphp 中的分頁類在我看來還是很強大的,使用起來也是很方便的。只要傳總的條數,和每頁顯示的條數,還有樣式配置數組,你就可以輕鬆顯示分頁,而且可以方便的調整前台頁數代碼的樣式。


下面介紹一下一些配置參數:

public $firstRow; // 起始行數
public $listRows; // 列表每頁顯示行數
public $parameter; // 分頁跳轉時要帶的參數
public $totalRows; // 總行數
public $totalPages; // 分頁總頁面數
public $rollPage = 11;// 分頁欄每頁顯示的頁數
public $lastSuffix = true; // 最後一頁是否顯示總頁數


private $p = 'p'; //分頁參數名
private $url = ''; //當前連結URL
private $nowPage = 1;//預設第一頁


我們一般建立對象的時候為:


$Page=new \Think\Page($count,25);// 執行個體化分頁類 傳入總記錄數和每頁顯示的記錄數(25)

$show= $Page->show();// 分頁顯示輸出

$count 為總的頁數,25為每頁顯示的記錄數。


這裡沒有進行任何配置輸出的效果也是預設的,我們可以進行一些調整,比如:

$Page->rollPage = 5,這樣就最多顯示5個分頁數目,

$Page->lastSuffix=false;//這個參數是讓他最後一頁不顯示總的數目。因為我們可以通過header來顯示總的數目。


// 分頁顯示定製
private $config = array(
'header' => '共 %TOTAL_ROW% 條記錄',
'prev' => '<<',
'next' => '>>',
'first' => '1...',
'last' => '...%TOTAL_PAGE%',
'theme' => '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END%',
);


這裡是分頁樣式預設的數組,我們可以通過攢地新的值來覆蓋它們,

通過

public function setConfig($name,$value) {
if(isset($this->config[$name])) {
$this->config[$name] = $value;
}
}


這個函數我們可以把這些預設覆蓋,比如theme裡面沒有header的資訊,我們可以加入%HEADER% 來讓他顯示出來。而header的內容也可以通過一個key為header的數組來覆蓋。其他的參數都是類似的,說明一下,theme裡面我們可以自己調整header的位置,而不是固定在前面或者後面,用起來很靈活。


下面說明一下,thinkphp這個分頁類是如何通過設定檔來修改它的樣式的。


$page_str = str_replace(
array('%HEADER%', '%NOW_PAGE%', '%UP_PAGE%', '%DOWN_PAGE%', '%FIRST%', '%LINK_PAGE%', '%END%', '%TOTAL_ROW%', '%TOTAL_PAGE%'),
array($this->config['header'], $this->nowPage, $up_page, $down_page, $the_first, $link_page, $the_end, $this->totalRows, $this->totalPages),
$this->config['theme']);


這個str_replace可以說是分頁類的一個設計精華之處,首先前面將類的各個屬性的值分開賦值,最後調用這個函數,讀取config中的theme來表示要顯示的內容,而其中的變數是通過按照對應的數組來替換的,就實現了將config中的theme(可以子集覆蓋預設的theme)來控制如何顯示分頁及內容順序。


最後就是thinkphp將常用的前一頁,後一頁,第一頁,當前頁都加了預設class,所以我們引入一個css檔案就可以改變他的樣式了。




http://www.bkjia.com/PHPjc/907371.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/907371.htmlTechArticlethinkphp 分頁類介紹 thinkphp 中的分頁類在我看來還是很強大的,使用起來也是很方便的。只要傳總的條數,和每頁顯示的條數,還有樣式配置...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.