PHP分頁顯示詳解

2021-04-29 15:38:50 字數 1320 閱讀 1394

1、前言

分頁顯示是一種非常常見的瀏覽和顯示大量資料的方法,屬於web程式設計中最常處理的事件之一。對於web程式設計的老手來說,編寫這種**實在是和呼吸一 樣自然,但是對於初學者來說,常常對這個問題摸不著頭緒,因此特地撰寫此文對這個問題進行詳細的講解,力求讓看完這篇文章的朋友在看完以後對於分頁顯示的 原理和實現方法有所了解。本文適合初學者閱讀,所有示例**均使用php編寫。

2、原理

所謂分頁顯示,也就是將資料庫中的結果集人為的分成一段一段的來顯示,這裡需要兩個初始的引數:

每頁多少條記錄($pagesize)?

當前是第幾頁($currentpageid)?

前10條記錄:select * from table limit 0,10

第11至20條記錄:select * from table limit 10,10

第21至30條記錄:select * from table limit 20,10

……這一組sql語句其實就是當$pagesize=10的時候取表內每一頁資料的sql語句,我們可以總結出這樣乙個模板:

select * from table limit ($currentpageid - 1) * $pagesize, $pagesize

拿這個模板代入對應的值和上邊那一組sql語句對照一下看看是不是那麼回事。搞定了最重要的如何獲取資料的問題以後,剩下的就僅僅是傳遞引數,構造合適的sql語句然後使用php從資料庫內獲取資料並顯示了。以下我將用具體**加以說明。

3、簡單**

請詳細閱讀以下**,自己除錯執行一次,最好把它修改一次,加上自己的功能,比如搜尋等等

4、oo風格**

以下**中的資料庫連線是使用的pear db類進行處理

需要說明的地方有兩個:

這個類僅僅處理資料,並不負責處理顯示,因為我覺得將資料的處理和結果的顯示都放到乙個類裡邊實在是有些勉強。顯示的時候情況和要求多變,不如自己根據類給出的結果處理,更好的方法是根據這個pager類繼承乙個自己的子類來顯示不同的分頁,比如顯示使用者分頁列表可以:

第二個需要說明的地方就是不同資料庫的相容性,在不同的資料庫裡截獲一段結果的寫法是不一樣的。

mysql: select * from table limit offset, rows

pgsql: select * from table limit m offset n

......

所以要在類裡邊獲取結果的時候需要使用pear db類的limitquery方法。 ok,寫完收功,希望花時間看完這些文字的你不覺得是浪費了時間。

分頁顯示詳解(with php)

1 前言 分頁顯示是一種非常常見的瀏覽和顯示大量資料的方法,屬於web程式設計中最常處理的事件之一。對於web程式設計的老手來說,編寫這種 實在是和呼吸一樣自然,但是對於初學者來說,常常對這個問題摸不著頭緒,因此特地撰寫此文對這個問題進行詳細的講解,力求讓看完這篇文章的朋友在看完以後對於分頁顯示的原...

php後端分頁 PHP實現資料分頁顯示功能的方法

這篇文章主要為大家詳細介紹了基於php實現資料分頁顯示功能,分頁在後台管理中是經常使用的功能,分頁顯示方便大量資料的管理,感興趣的小夥伴們可以參考一下 實現 使用者列表 con mysql connect localhost root mysql query set names utf8 mysql...

php實現分頁顯示功能

sql公式 select from cz goods type order by type id limit 1,2 offset 偏移量 pagesize 每頁顯示的條數 其中offset是在變化的,和當前所在頁數 current 每頁顯示條數有關 pagesize offset current ...