PHP分頁代碼實例教程
分享一段php分頁代碼,很簡單,作爲php分頁的入門教程不錯。
數據庫鏈接及參數設定
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
//數據庫連接
@mysql_connect("localhost","root","root123") or die("連接數據庫失敗:".mysql_error());
mysql_select_db("test");
mysql_query("set character set 'gbk'");
//每頁顯示的留言數
$pagesize = 4;
輸出當前頁數據
//確定當前頁數 $p 參數
$p = $_GET['p']?$_GET['p']:1;
//數據指針
$offset = ($p-1)*$pagesize;
//查詢本頁顯示的數據
$query_sql = "SELECT * FROM guestbook ORDER BY id DESC LIMIT $offset , $pagesize";
$result = mysql_query($query_sql);
//循環輸出
while($gblist = mysql_fetch_array($result)){
echo '<a href="',$gblist['nickname'],'">',$gblist['nickname'],' ';
echo '發表於:',date("Y-m-d H:i", $gblist[createtime]),'<br />';
echo '內容:',$gblist['content'],'<br /><hr />';
}
確定當前頁參數 $p 中,使用了一個三元運算符:
$p = $_GET['p']?$_GET['p']:1;
|
理解該運算符:$_GET['p'] 存在嗎?如果存在,那麼 $p = $_GET['p'] ,如果不存在,那麼 $p = 1 。
下面就是讀取當前頁面顯示數據的代碼,該部分可參考《MySQL Select From 查詢數據》。
第二部分,輸出分頁格式
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
//分頁代碼
//計算留言總數
$count_result = mysql_query("SELECT count(*) as count FROM guestbook");
$count_array = mysql_fetch_array($count_result);
//計算總的頁數
$pagenum=ceil($count_array['count']/$pagesize);
echo '共 ',$count_array['count'],' 條留言';
//循環輸出各頁數目及連接
if ($pagenum > 1) {
for($i=1;$i<=$pagenum;$i++) {
if($i==$p) {
echo ' [',$i,']';
} else {
echo ' <a href="index.php?p=',$i,'">',$i,'';
}
}
}
|
如果確定頁數大於 1 ,則開始輸出分頁頁碼。如果是當前頁碼,這輸出 [2] 這樣的格式,如果不是當前頁碼,則輸出超鏈接格式。
完整代碼
完整代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<?php
//數據庫連接
@mysql_connect("localhost","root","root123") or die("連接數據庫失敗:".mysql_error());
mysql_select_db("test");
mysql_query("set character set 'gbk'");
//每頁顯示的留言數
$pagesize = 4;
//確定頁數 p 參數
$p = $_GET['p']?$_GET['p']:1;
//數據指針
$offset = ($p-1)*$pagesize;
//查詢本頁顯示的數據
$query_sql = "SELECT * FROM guestbook ORDER BY id DESC LIMIT $offset , $pagesize";
//echo $query_sql;
$result = mysql_query($query_sql);
//循環輸出
while($gblist = mysql_fetch_array($result)){
echo '<a href="',$gblist['nickname'],'">',$gblist['nickname'],'';
echo '發表於:',date("Y-m-d H:i", $gblist[createtime]),'<br />';
echo '內容:',$gblist['content'],'<br /><hr />';
}
//分頁代碼
//計算留言總數
$count_result = mysql_query("SELECT count(*) as count FROM guestbook");
$count_array = mysql_fetch_array($count_result);
//計算總的頁數
$pagenum=ceil($count_array['count']/$pagesize);
echo '共 ',$count_array['count'],' 條留言';
//循環輸出各頁數目及連接
if ($pagenum > 1) {
for($i=1;$i<=$pagenum;$i++) {
if($i==$p) {
echo ' [',$i,']';
} else {
echo ' <a href="index.php?p=',$i,'">',$i,'';
}
}
}
?>
|
運行顯示效果:
內容:Hello
--------------------------------------------------------------------------------
小麗 發表於:2010-09-01 01:42
內容:hahaha
--------------------------------------------------------------------------------
小張 發表於:2010-01-22 22:05
內容:來看看
--------------------------------------------------------------------------------
小明 發表於:2010-01-22 22:01
內容:做得好,繼續努力
--------------------------------------------------------------------------------
共 10 條留言 1 [2] 3