PHP + MySQL 分頁顯示的方法 @@...
//資料取得
<?
$sqlstr = "SELECT * FROM tables WHERE test = 'Y' ORDER BY names DESC"; //修改成你要的 SQL 語法
$result = mysql_query($sqlstr,$link) or die ($sqlstr);
$data_nums = mysql_num_rows($result);
$per = 20; //每頁顯示項目數量
$pages = ceil($data_nums/$per); //取得大於指定數的最小整數值,就是總頁數啦
if ( !isset($_GET["page"]) ) {
$page=1; //設定起始頁
} else {
$page = intval($_GET["page"]); //確認頁數只能夠是數值資料
$page = ($page > 0) ? $page : 1; //確認頁數大於零
$page = ($pages > $page) ? $page : $pages; //確認使用者沒有輸入太神奇的數字
}
$start = ($page-1)*$per; //每頁起始資料序號
$result = mysql_query($sqlstr.' LIMIT '.$start.', '.$per,$link) or die ($sqlstr);
?>
// 分頁語法
<?
echo "<br /><a href=?page=1>最前</a> ";
echo "第 ";
for( $i=1 ; $i<=$pages ; $i++ ) {
if ( $page-3 < $i && $i < $page+3 ) {
echo "<a href=?page=".$i.">".$i."</a> ";
}
//if ( $i % 5 == 0 ) echo "<br />";
} //分頁頁碼
echo " 頁 <a href=?page=".$pages.">最後</a><br /><br />";
echo '共 '.$data_nums.' 筆、在 '.$page.' 頁、共 '.$pages.' 頁';
?>
// 資料顯示
<?
while ($row = mysql_fetch_array ($result))
{
.............................
}
?>
沒有留言:
張貼留言