PHP+Mysql開發(fā)分頁之了解分頁原理
什么是分頁技術(shù)
分頁,是一種將所有數(shù)據(jù)分段展示給用戶的技術(shù).用戶每次看到的不是全部數(shù)據(jù),而是其中的一部分,如果在其中沒有找到自習自己想要的內(nèi)容,用戶可以通過制定頁碼或是翻頁的方式轉(zhuǎn)換可見內(nèi)容,直到找到自己想要的內(nèi)容為止.其實這和我們閱讀書籍很類似.
分頁的意義
分頁確實有效,但它一定會加大系統(tǒng)的復雜度,但可否不分頁呢?如果數(shù)據(jù)量少的話當然可以.但是對于企業(yè)信息系統(tǒng)來說數(shù)據(jù)量不會限制在一個小范圍內(nèi).如果不顧一切的Select * from某個表,再將返回的數(shù)據(jù)一古腦的扔給客戶,即使客戶能夠忍受成千上萬足夠讓人眼花繚亂的表格式數(shù)據(jù),繁忙的網(wǎng)絡(luò),緊張的服務(wù)器也會提出它們無聲的抗議,甚至有時會以徹底的罷工作為終結(jié).這個結(jié)局有點像古代為所欲為的暴君和他忍無可忍的臣民之間的故事.
程序員不是暴君,他希望程序使生活變得更好而不是更糟.考慮到企業(yè)信息系統(tǒng)多是三層甚至更多層架構(gòu)的事實,程序員在向客戶展示數(shù)據(jù)時都應(yīng)該采取分頁的形式.如果他不想被抱怨淹沒或是半夜被電話驚醒的話.
如何實現(xiàn)分頁
所謂分頁顯示,也就是講數(shù)據(jù)庫中的結(jié)果集,一段一段顯示出來在這里我們就需要用到Mysql語句中的limit命令
怎么分段,當前在第幾段 (每頁有幾條,當前再第幾頁)
前10條記錄:
select * from table limit 0,10
第11至20條記錄:
select * from table limit 10,10
第21至30條記錄:
select * from table limit 20,10
從上面可以看出規(guī)律
(當前頁數(shù) - 1 )X 每頁條數(shù) , 每頁條數(shù)
Select * from table limit ($Page- 1) * $PageSize, $PageSize
所需的PHP文件
conn.php 連接數(shù)據(jù)庫文件
mupage.php 分頁完整文件
所需的mysql數(shù)據(jù)庫
首先我們來整理下,分頁功能的開發(fā)思路與流程
連接數(shù)據(jù)庫
從數(shù)據(jù)庫傳出我們想要的數(shù)據(jù)
使用sql語句編寫獲取分頁數(shù)據(jù)
把sql語句傳入我們的數(shù)據(jù)庫
處理我們得到的數(shù)據(jù)在頁面上展示出來
獲取數(shù)據(jù)總數(shù),計算頁數(shù)和顯示的數(shù)據(jù)以及偏移量。
將分頁數(shù)據(jù)初始化,對頭部和尾部省略處理
設(shè)置分頁條樣式顯示即可