php本身是沒有分頁概念的,分頁是URL傳參,然后通過mysql查詢語句到數(shù)據(jù)庫獲取數(shù)據(jù),然后實(shí)現(xiàn)的分頁,url上的參數(shù),通過PHP的$_GET都是可以獲取到的。
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的巫山網(wǎng)站設(shè)計(jì)、移動媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
現(xiàn)在市面上的PHP框架基本都有PHP分頁類,參照文檔直接調(diào)用就好了,如果想看實(shí)現(xiàn)過程,可以去下載一個(gè)TP框架,然后打開里面的分頁類查看里面的源代碼。
SELECT
TOP
25
*
FROM
(SELECT
*
FROM
表名
WHERE
條件)
T
WHERE
(主鍵
NOT
IN
(SELECT
TOP
通過PHP計(jì)數(shù)值(每頁條數(shù)
*
(當(dāng)前頁
-
1)
)
主鍵
FROM
(SELECT
*
FROM
表名
WHERE
條件)
T2
ORDER
BY
T2.主鍵
DESC))
上面SELECT
*
FROM
表名
WHERE
條件有兩句,這兩句就是你查詢時(shí)真正的SQL語句
你可以寫個(gè)存儲過程,或?qū)憘€(gè)PHP函數(shù)
說明你點(diǎn)下一頁的時(shí)候,查詢條件沒有獲取到,下一頁的是連接,所以接受數(shù)據(jù)參數(shù)的時(shí)候需要用$_GET 來接收,提交的時(shí)候也需要用get方法提交,這樣才能保證參數(shù)不會丟失,點(diǎn)擊下一頁的時(shí)候限制條件保持一致
PHP代碼如下:
/*
Author:默默
Date :2006-12-03
*/
$page=isset($_GET['page'])?intval($_GET['page']):1; //這句就是獲取page=18中的page的值,假如不存在page,那么頁數(shù)就是1。
$num=10; //每頁顯示10條數(shù)據(jù)
$db=mysql_connect("host","name","pass"); //創(chuàng)建數(shù)據(jù)庫連接
$select=mysql_select_db("db",$db); //選擇要操作的數(shù)據(jù)庫
/*
首先咱們要獲取數(shù)據(jù)庫中到底有多少數(shù)據(jù),才能判斷具體要分多少頁,具體的公式就是
總數(shù)據(jù)數(shù)除以每頁顯示的條數(shù),有余進(jìn)一。
也就是說10/3=3.3333=4 有余數(shù)就要進(jìn)一。
*/
$total=mysql_num_rows(mysql_query("select id from table")); //查詢數(shù)據(jù)的總數(shù),id是數(shù)據(jù)庫中的一個(gè)自動賦值的字段
$pagenum=ceil($total/$num); //獲得總頁數(shù)
//假如傳入的頁數(shù)參數(shù)大于總頁數(shù),則顯示錯(cuò)誤信息
If($page$pagenum || $page == 0){
Echo "Error : Can Not Found The page .";
Exit;
}
$offset=($page-1)*$num; //獲取limit的第一個(gè)參數(shù)的值,假如第一頁則為(1-1)*10=0,第二頁為(2-1)*10=10。
$info=mysql_query("select name from table limit $offset,$num"); //獲取相應(yīng)頁數(shù)所需要顯示的數(shù)據(jù),name是數(shù)據(jù)里的一個(gè)字段
While($it=mysql_fetch_array($info)){
Echo $it['name']."
";
} //顯示數(shù)據(jù)
For($i=1;$i=$pagenum;$i++){
$show=($i!=$page)?"$i":"$i";
Echo $show." ";
}
/*顯示分頁信息,假如是當(dāng)頁則顯示粗體的數(shù)字,其余的頁數(shù)則為超連接,假如當(dāng)前為第三頁則顯示如下
1 2 3 4 5 6
*/
?
本文名稱:php分頁與數(shù)據(jù)庫,php 讀取數(shù)據(jù)庫內(nèi)容 前臺分頁
文章源于:http://www.ekvhdxd.cn/article30/heggso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、小程序開發(fā)、做網(wǎng)站、網(wǎng)站內(nèi)鏈、定制開發(fā)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)