例子一,這個分頁函數就有串連資料庫再查看
代碼不詳細解說了,注釋裡有
| 代碼如下 |
複製代碼 |
|
<?php
//page當前頁,num每頁的頁數
$page=isset($_GET['page'])?intval($_GET['page']):1;
$num=5;
$conn = mysql_connect('127.0.0.1','root','');
if (!$conn) {
die('Could not connect:'.mysql_error());
}
mysql_select_db('shop');
//擷取記錄總數
$total=mysql_num_rows(mysql_query("select * from user"));
//計算頁數
$pagenum=ceil($total/$num);
//限制頁數不能超 www.111cn.net 出範圍
If($page>$pagenum || $page == 0){
Echo 'Error : Can Not Found The page.';
Exit;
}
//語句“Select * from table limit 0,10”從table表提取十條資訊,0為起點,10為提取的數目
//$offset為起點值,如當前頁為第一頁,每頁5條,起點即為0,同理當前為第二頁,起點將為5
$offset=($page-1)*$num;
$result=mysql_query("select * from user limit $offset,$num");
while($it=mysql_fetch_array($result)){
echo 'id:'.$it['id'].' name:'.$it['name'].'<br />';
}
//顯示連結頁面切換連結,當前頁無連結
for($i=1;$i<=$pagenum;$i++){
$show=($i!=$page)?"<a href='index.php?page=".$i."'>$i</a>":"<b>$i</b>";
echo $show." ";
}
echo $total.'條記錄,每頁5條,共'.$pagenum.'頁';
mysql_free_result($result);
mysql_close($conn);
?> |
例子二,直接的把分頁代碼邏輯提出來,重複利用比較好
| 代碼如下 |
複製代碼 |
|
<?php
/*
#函數:csPage
#功能:返回頁面列表
*/
Function csPage($iPage,$aPage,$urlStart,$urlEnd){
$tmp = "";
if($iPage == 1 && $aPage == 1){
$tmp = "<strong> 1/1 </strong>";
}else{
if($iPage == 1){
$tmp = "<span> |< </span><span> << </span>";
}else{
$tmp = '<a title="首頁" href="' . $UrlStart . 1 . $urlEnd . '"> |< </a><a title="上一頁" href="' . $UrlStart . ($iPage-1) . $urlEnd . '"> << </a>';
}
$tmp .= "<strong> " . $iPage . "/" . $aPage . " </strong>";
if($iPage == $aPage){
$tmp .= '<span> >> </span><span> >| </span>';
}else{
$tmp .= '<a title="下一頁" href="' . $urlStart . ($iPage+1) . $urlEnd .' "> >> </a><a title="尾頁" href="' . $urlStart . $aPage . $urlEnd . '"> >| </a>';
}
}
return $tmp;
}
?> |
總結一下,
如果讓我們選擇可能我會選擇第二種方法這樣維護好實現方法簡單,第一種分頁適合初學者合適簡單但維護複雜。