天天看點

PHP+MySQL 分頁那點事

分頁技術随處可見,這可以算得上是最為基礎的網站功能了。于是今天嘗試着用PHP來實作一個分頁的小例子。

<a href="#%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C">準備工作</a>

<a href="#%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87">環境準備</a>

<a href="#apache">Apache</a>

<a href="#mysql">MySQL</a>

<a href="#php">PHP</a>

<a href="#%E5%B7%A5%E4%BD%9C%E7%8E%AF%E5%A2%83">工作環境</a>

<a href="#%E6%95%B0%E6%8D%AE%E5%BA%93%E5%87%86%E5%A4%87">資料庫準備</a>

<a href="#%E5%BB%BA%E5%BA%93">建庫</a>

<a href="#%E5%BB%BA%E8%A1%A8">建表</a>

<a href="#%E9%A2%84%E5%AD%98%E6%95%B0%E6%8D%AE">預存資料</a>

<a href="#php%E6%8B%93%E5%B1%95%E5%87%86%E5%A4%87">PHP拓展準備</a>

<a href="#phpini">phpini</a>

<a href="#%E5%88%86%E9%A1%B5%E5%8E%9F%E7%90%86">分頁原理</a>

<a href="#%E6%80%BB%E8%AE%B0%E5%BD%95%E6%95%B0">總記錄數</a>

<a href="#%E5%BD%93%E5%89%8D%E9%A1%B5">目前頁</a>

<a href="#%E5%88%86%E9%A1%B5%E6%A0%B8%E5%BF%83">分頁核心</a>

<a href="#%E9%A1%B5%E9%9D%A2%E5%B1%95%E7%A4%BA">頁面展示</a>

<a href="#%E5%88%86%E9%A1%B5%E5%AE%9E%E7%8E%B0">分頁實作</a>

<a href="#%E4%BB%A3%E7%A0%81slicepagephp">代碼SlicePagephp</a>

<a href="#%E7%BB%93%E6%9E%9C">結果</a>

<a href="#%E6%80%BB%E7%BB%93">總結</a>

俗話有雲“工欲善其事,必先利其器”,我們今天要使用PHP來實作分頁。那麼我們首要的任務就是搭建PHP的工作環境。

使用PHP技術,最好的搭檔就是AMP(Apache,MySQL,PHP),現在有很多內建好的環境,例如WAMP,XAMPP,phpnow等等。但是今天我來手動的搭建一套PHP 的工作環境。

我們首先需要到Apache的官網上下載下傳Apache server。最好是能下載下傳msi版本的,因為這樣我們就可以不用手動的配置各種環境了。

<a href="http://download.csdn.net/detail/marksinoberg/9602578">Apache下載下傳位址</a>

作為資料庫界有名的開源項目MySQL現如今也被Oracle收購了,不知道今後會不會收費。但是目前而言,PHP開發最好的選擇就是MySQL了。這個無需多言,現附上下載下傳位址。

<a href="http://dev.mysql.com/downloads/installer/">MySQL下載下傳位址</a>

在安裝過程中,切記要牢記使用者名及密碼。

有人說PHP不是一門語言,而是一個架構,一個連接配接MySQL的用戶端實作。我仔細的想了想,好像也是有那麼點道理。但是如果這樣說來,有很多的語言都算不上是語言了。php作為平民英雄,其進步之大衆所周知。下面附上php的下載下傳位址,免得再去單獨尋找。

<a href="http://download.csdn.net/detail/marksinoberg/9602580">PHP下載下傳位址</a>

我們安裝好了上面的三個軟體之後,就可以正式的開始環境搭建了。我們目前而言隻需要知道的就是我們的工作目錄就在Apache的htdocs檔案夾下,作為虛拟目錄的htdocs是由apache配置檔案維護的,我們以後慢慢的會接觸到。

切記是在apache的安裝目錄下的htdocs檔案夾。

環境雖然搭建好了,但是要想做分頁。首先得有資料不是。”巧婦難為無米之炊“。下面咱們就來準備一下資料。

建庫語句 create database my_database_name; 這裡就使用MySQL安裝時自帶的mysql資料庫好了。也省事一點。

資料的倉庫依然建好了,現在我們要”分隔房間“,也就是資料存放地,表。

create table table_name(···);

同樣這裡為了偷懶使用自帶的資料庫表。詳細資訊如下:

為了示範的友善,我們需要預存一些資料。具體使用批量導入還是手動添加都無所謂。核心還是

insert into table_name(···) values(···);

例如,我們存儲好的資料如下:

如果是非msi版本的安裝的話,我們需要手動的開啟PHP的拓展,這樣才能使用mysql的一些函數來操作資料庫。

該檔案位于php的安裝目錄。我們需要把下面代碼前面的分号去掉即可。

在PHP的ini檔案中,注釋是;

”萬事俱備隻欠東風“,現在就來說說分頁的核心思想。

那就是目前頁,頁面大小,總記錄數。這三個通過總記錄數和頁面大小,我們就可以計算出總的頁數。然後根據目前頁來實作對應的顯示。

就這樣我們就可以拿到自己想要的結果集了。接下來的就是如何在頁面上進行展示而已。

了解了上面的内容之後,下面來看一下這個完整的例子吧。

初始頁為:

PHP+MySQL 分頁那點事

點選頁碼

PHP+MySQL 分頁那點事

下一頁

PHP+MySQL 分頁那點事

分頁是一個很實用的技術,相比較于Java的實作,PHP實作起來靈活性還是很高的。解放了繁瑣的面向對象的程式設計,在思路清晰的時候确實能給人以美感。