用到的函數:PAGE();
function page ($totalPage , $currentPage,$url ,$halfPer,$imagePath)
{
$total=$totalPage;
$currentPage=($currentPage<1)?1:$currentPage;
$currentPage=($currentPage>$totalPage)?$totalPage:$currentPage;
//echo $currentPage;
$re="";
$re .= ( $currentPage > 1 )
? "<td><a href=\"$url=1\">首頁</a></td>\n<td><a href=\"$url=".($currentPage-1)."\">上一頁</a></td>\n"
: "<td>首頁</td>\n";
for ( $i = $currentPage - $halfPer,$i >= 1 || $i = 1 ,$j = $currentPage + $halfPer, $j < $totalPage || $j = $totalPage;$i <= $j ;$i++ )
{//核心演算法!
$re .= ($i == $currentPage)
? "<td><b class=currentPage> [$i] </b></td>\n"
: "<td><a href=\"$url=$i\"> [$i] </a></td>\n";
}
$re .= ( $currentPage < $total )
? "<td><a href=\"$url=" . ( $currentPage + 1 ) . "\">下一頁</a></td>\n<td><a href=\"$url=" . ( $total )."\">尾頁</a>\n</td>"
: "<td>尾頁</td>\n";
$re="<table style=text-align:center><tr>$re</tr></table>";
return $re;
}
使用很簡單
先包括上面的函數
先檢索出總的記錄條數。
自己定義一下每頁顯示多少條:
然後總的頁數
$total_row=...;//此為您檢索出來的總的記錄數
$pagesize=10;
//=======================
//補充如果是整數的話。可以再判斷一下如果餘數為0就不加1啊。
$totalPage =($total_row%$pagesize==0) ?intval($total_row/$pagesize): intval($total_row/$pagesize)+1;
//=======================
//$totalPage = intval($total_row/$pagesize)+1 ; //總頁數 ,為什麼要加1呢。呵呵。自己去想想:)
$currentPage = intval($_GET['page']);
$url = "?page";
$halfPer = 5;
$imagePath ="images";
$pageHtml = page ( $totalPage , $currentPage,$url ,$halfPer,$imagePath);
//echo $pageHtml ;
$currentPage=($currentPage<1)?1:$currentPage;
$currentPage=($currentPage>$totalPage)?$totalPage:$currentPage;
//上面這兩句大家能明白意思不,不要被那個?:嚇到,其實就等到if...else.....呵呵
下面為怎樣檢索MYSQL
我唯寫也關鍵的那條語句就行了。呵呵。不要罵我懶啊。
首先讓我來帶大家瞭解一下LIMIT
LIMIT如果後面只有一個數字,則為檢錄前多少條。比如LIMIT 20 只為取前20條做為檢索的結果。
如果後面有兩具數字。則為從多少條起檢索多少條,比如 LIMIT 20,10 為從第20條起取10條,那麼結果組為21-30條。
好,下面我們就用這個屬性來分頁:
(天好冷啊,廈門竟然還會這麼手冷,暈死,回家過年得了。呵呵。好肺話啊。表打我哦 各位看官,先發表一下,等下再來編輯,不要不小心關年掉了,那不哭死我啊。小便一下先)
(回來了。呵呵)
我們繼續上面的講
我們用一條mysql語句來說明:
$strQuery="select * from myTable limit $offset,$pagesize";
大家看到沒有,上面出現了兩個變數,一個為$offset,一個為$pagesize。
$pagesize大家都知道是什麼了是吧。什嗎?不知道,自己看上面去。
這個$offset即為起始變數,還刻我們剛才提到的LIMIT 20,10嗎。
好了,那麼我們現在就來敲定這個$offset
其實 $offset = $pagesize*($currentPage-1);