PHP分頁---轉載
在看本文之前,請確保你已掌握了PHP的一些知識以及MYSQL的查詢操作基礎哦。
作為一個Web程式,經常要和不計其數的資料打交道,比如會員的資料,文章資料,假如只有幾十個會員那很好辦,在一頁顯示就可以了,可是假如你的網站是幾千甚至幾十萬會員的話,如果都在一頁開啟的話無論對瀏覽器還是觀看者都是一種折磨。
相信每個學習PHP的新手都會對分頁這個東西感覺很頭疼,不過有了默默的這一水帖,你肯定會拍拍腦袋說,嘿,原來分頁竟然如此簡單?的確,現在請深呼吸一口新鮮的空氣,仔細的聽默默給你一點一點的分解。
假設我們要處理1000條資料,要在每頁中顯示10條,這樣的話就會分100頁來顯示,我們們先看一看在mysql裡提取10條資訊是如何操作的。
Select * from table limit 0,10
上面是一句很簡單的mysql查詢語句,它的作用是從一個名叫table的表裡提取10條資料,並且把所有欄位的值都獲得。
關鍵的地方就在這段“limit 0,10”,它其中的0是以0為起始點,後面的10則是顯示10條資料,那麼我們要以10為起始點,顯示到第20條資料該怎麼寫呢?
可能很多大大會心直口快的說“limit 10,20”嘛!啊哦,這樣可就錯誤了哦,正確的寫法是“limit 10,10”它後面的引數並非是結束點而是要提取的數目,記住哦。
懂得了如何提取10條資料,那麼提取1000條也就是做100次這種查詢呀,就是說要做如下的查詢:
Limit 0,10 //第一頁
Limit 10,10 //第二頁
Limit 20,10 //第三頁
Limit 30,10 //第四頁
……
看出有什麼規律了嗎?沒錯,第一個引數每翻一頁就增加10,可是第二個引數是不變的。
也就是說我們們設法根據頁數來改變第一個引數的值,就可以進行分頁顯示資料了,怎麼樣,原理是不是很簡單?
可是要怎麼設法根據頁數來改變第一個引數的值呢?首先,我們們要有一個頁數的值,用url的GET方式獲取。
比如index.php?page=18
相信大部分的大大對這個東西不陌生吧,這種url地址可是隨處可見,其中的page引數的作用就是傳入要顯示的頁數。
我們們透過一段程式碼來看一看究竟是如何實現的吧:
PHP程式碼如下:
/*
Author:默默
Date :2006-12-03
*/
$page=isset($_GET['page'])?intval($_GET['page']):1; //這句就是獲取page=18中的page的值,假如不存在page,那麼頁數就是1。
$num=10; //每頁顯示10條資料
$db=mysql_connect("host","name","pass"); //建立資料庫連線
$select=mysql_select_db("db",$db); //選擇要操作的資料庫
/*
首先我們們要獲取資料庫中到底有多少資料,才能判斷具體要分多少頁,具體的公式就是
總資料數除以每頁顯示的條數,有餘進一。
也就是說10/3=3.3333=4 有餘數就要進一。
*/
$total=mysql_num_rows(mysql_query("select id from table")); //查詢資料的總數,id是資料庫中的一個自動賦值的欄位
$pagenum=ceil($total/$num); //獲得總頁數
//假如傳入的頁數引數大於總頁數,則顯示錯誤資訊
If($page>$pagenum || $page == 0){
Echo "Error : Can Not Found The page .";
Exit;
}
$offset=($page-1)*$num; //獲取limit的第一個引數的值,假如第一頁則為(1-1)*10=0,第二頁為(2-1)*10=10。
$info=mysql_query("select name from table limit $offset,$num"); //獲取相應頁數所需要顯示的資料,name是資料裡的一個欄位
While($it=mysql_fetch_array($info)){
Echo $it['name']."
";
} //顯示資料
For($i=1;$i<=$pagenum;$i++){
$show=($i!=$page)?"$i":"$i";
Echo $show." ";
}
/*顯示分頁資訊,假如是當頁則顯示粗體的數字,其餘的頁數則為超連線,假如當前為第三頁則顯示如下
1 2 3 4 5 6
*/
?>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7718881/viewspace-1035444/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- php 分頁PHP
- php分頁類PHP
- php 分頁 分頁類 簡單實用PHP
- php分頁顯示PHP
- php分頁程式碼PHP
- PHP 使用 Redis 實現分頁PHPRedis
- php簡易分頁程式碼PHP
- 學php時寫的一個分頁顯示的類 (轉)PHP
- 分頁函式 (轉)函式
- PHP物件導向(OOP)—-分頁類PHP物件OOP
- PHP+MYSQL的分頁實作PHPMySql
- 微信小程式分頁載入微信小程式
- iOS 高效的分頁載入iOS
- PHP中物件導向的分頁類PHP物件
- PHP 原生操作 Mysql 分頁資料案例PHPMySql
- 處理JS分頁載入的網頁_recvJS網頁
- 版本12.5.2,分頁取資料的sql怎麼寫?(轉載)SQL
- PHP 陣列搜尋 sdk & 陣列分頁PHP陣列
- 24-PHP+MySQL分頁技術詳解PHPMySql
- php原聲實現分頁程式碼示例PHP
- php怎麼直接跳轉頁面PHP
- PHP中實現頁面跳轉PHP
- Z評分模型(轉載)模型
- 小程式列表頁上滑載入更多配合 Laravel 分頁Laravel
- **PHP分步表單提交思路(分頁表單提交)PHP
- Gridview分頁,清空,跳轉到View
- Jive中的分頁處理 (轉)
- ASP分頁技術原始碼 (轉)原始碼
- EnableViewState="false"的DataGrid分頁 (轉)ViewFalse
- 玩轉PHP動態網頁設計PHP網頁
- php 跳轉頁面之前彈窗提示PHP
- 為RecyclerView新增分頁載入(上拉載入更多)功能View
- PHP頁面跳轉如何實現延時跳轉PHP
- DataList控制元件也玩分頁-轉貼 (轉)控制元件
- ListView分頁顯示 上拉載入更多View
- 服務分銷策略(轉載)
- php日期時間計算,轉載PHP
- [下載]PHP 5.1.2 for Unix/Linux(轉)PHPLinux