真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP+MYSQL的分頁是怎樣操作的

本篇文章為大家展示了PHP+MySQL的分頁是怎樣操作的,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新新互聯(lián),憑借十余年的網(wǎng)站制作、成都網(wǎng)站設(shè)計經(jīng)驗,本著真心·誠心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計網(wǎng)站有上千多家案例。做網(wǎng)站建設(shè),選創(chuàng)新互聯(lián)

寫php是簡單的事,但是分頁可困擾小弟好一陣子°
因為手邊的書好多本...本本看不懂說不清...°
這個技巧對行家,雖是簡易的事,但對於一位初學(xué)者可會困擾好一陣子°
如果您也是初學(xué)者,相信本篇可以給您一丁點的收穫°

開始
想要作出分頁的效果,得先想一下,閉上眼吧?
想分頁須要那些資料呢?
1您得先決定每頁要有多少筆資料($pagesize),以這個來除才能得到頁數(shù)°
2總資料筆數(shù)是多少?($total)如果沒有,相當(dāng)於沒有被除數(shù),一樣是白談了°
3當(dāng)我們要換頁時,得告訴程式,我們要換到第幾頁去($p)°

mysql
有了上述三個,除了13是自行決定的外,2的部分則須從資料庫計算出來°
而重點訣竅在於sql的語法,sql的語法有一個limit
它的用法是
limit 開始位置,取資料數(shù)
因此我們直接利用其開始位置來得到我們該頁的資料,而取資料數(shù)則為我們自訂的每頁幾筆°
例子
假設(shè)資料量有8筆資料,我們要每3筆一頁,則sql語法如下:
第1頁==>取出0,1,2三筆
select * from 資料表 limit 0,3
第2頁==>取出3,4,5三筆
select * from 資料表 limit 3,3
第3頁==>取出6,7,8三筆,不過因為資料不足,實際只會取出6,7二筆
select * from 資料表 limit 6,3


觀察與計算
以上述例子,首先我們要先統(tǒng)計資料總數(shù)後再作頁數(shù)的計算 °
總計總數(shù)
這個部分自資料庫取得來算便知,所以可以利用下列方式

$result = mysql_query("select * from 資料表 "); //取全部資料的語法
$total=mysql_num_rows($result);//取得資料的總數(shù)

8÷3=2...2
在這裡我們可以用到一個php的函式ceil,
其作用可以算出比該數(shù)(浮點數(shù),有小數(shù)位的)大的最小整數(shù)
所以總頁數(shù)為$totalpages= ceil($total/ $pagesize);


分頁開始
要先分頁之前,我們得先決定一個第幾頁的變數(shù),在這邊預(yù)設(shè)為$p
另外小弟習(xí)慣頁數(shù)從0開始算,也就是
$p=0-->第1頁,從第0筆開始取,算法--> $p*$pagesize-->0*3=0
$p=1-->第2頁,從第3筆開始取,算法--> $p*$pagesize-->1*3=3
$p=2-->第3頁,從第6筆開始取,算法--> $p*$pagesize-->2*3=6

如果您要從1開始算也是可以的,不過使用上要再減1就是了
$p=1-->第1頁,從第0筆開始取,算法--> ($p-1)*$pagesize-->0*3=0
$p=2-->第2頁,從第3筆開始取,算法--> ($p-1)*$pagesize-->1*3=3
$p=3-->第3頁,從第6筆開始取,算法--> ($p-1)*$pagesize-->2*3=6

接下來,再看看語法

第1頁==>$p=0,取出0,1,2三筆
select * from 資料表 limit 0,3
select * from 資料表 limit $p *$pagesize ,$pagesize
第2頁==>$p=1,取出3,4,5三筆
select * from 資料表 limit $p* $pagesize, $pagesize
第3頁==>$p=2,取出6,7,8三筆
select * from 資料表 limit 6,3
select * from 資料表 limit $p* $pagesize, $pagesize

綜合上述得到的分頁語法則為
select * from 資料表 limit $p* $pagesize, $pagesize

跳到指定頁
另外我們要如何將分頁的頁數(shù)$p給程式呢?
一般而言都是靠連結(jié)的方式將$p的值傳入
第1頁
第2頁
第3頁
...........
......
當(dāng)然您也可以利用其他的方式來作..不過在這邊不詳述了°

[@more@]

實作練習(xí)
接來秀出一個完整的程式碼的流程讓大家清楚整個流程:

$pagesize=2;//決定好每頁筆數(shù)
$link = mysql_connect('服務(wù)器','帳號','密碼') or die("無法連線!請連絡(luò)管理者!");
//連線到資料庫主機(jī)
mysql_select_db('資料庫',$link) or die("無法連到資料庫!請連絡(luò)管理者!");
//選擇資料庫

$result = mysql_query("select * from 資料表 ");
/////////////先取全部資料,用於計算總數(shù)上
$total=mysql_num_rows($result);
/////////////////計算並取得資料的總數(shù)
echo "總筆數(shù)".$total;
$totalpages= ceil($total/ $pagesize);
echo "總頁數(shù)".$totalpages;
//計算並顯示總頁數(shù)
for ($i=0;$i<$totalpages;$i++) {
?>>第
}
//////////////////以迴圈來跑頁數(shù),利用$i+1讓顯示時是第1頁開始
$p = $_GET['p'];
if ($p==''){ $p=0; }
///////////////////若沒指定第幾頁就從第0頁開始
$sql="select * from 資料表 limit ".$p*$pagesize.",".$pagesize;

/////////////只取部分資料,用於顯示
$res = mysql_query($sql);
echo "
";
while ($row = mysql_fetch_array($res))
{
//顯示結(jié)果迴圈
echo $row["name"];

}

?>

上述內(nèi)容就是PHP+MYSQL的分頁是怎樣操作的,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞標(biāo)題:PHP+MYSQL的分頁是怎樣操作的
URL網(wǎng)址:http://weahome.cn/article/jgcjjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部