我知道這聽起來很混亂: 我剛剛爲mysql創建了一些基本的prev/next分頁,我想知道,如果我的行的最後一頁是.php?page = 5和某人把.php?page = 263然後我想重定向他們.php?page = 5將用戶重定向到我的分頁上的最後一頁
關於如何做到這一點的任何想法..我目前擁有的信息是,多少行後返回LIMIT所以如果它是.php?page = 263那麼它將是0 我也有我的數據庫中的行總數...極限是10 :)
在此先感謝!
我知道這聽起來很混亂: 我剛剛爲mysql創建了一些基本的prev/next分頁,我想知道,如果我的行的最後一頁是.php?page = 5和某人把.php?page = 263然後我想重定向他們.php?page = 5將用戶重定向到我的分頁上的最後一頁
關於如何做到這一點的任何想法..我目前擁有的信息是,多少行後返回LIMIT所以如果它是.php?page = 263那麼它將是0 我也有我的數據庫中的行總數...極限是10 :)
在此先感謝!
如果你已經有行的總數,你知道有多少行,你會每頁可以顯示,那麼你就可以計算出最後一頁像這樣:
$totalPages = ceil($rows/$perPage);
然後,只需限制電流到一個合理的限度頁:
$page = isset($_GET['page']) ? (int) $_GET['page'] : 1;
$page = min(max($page, 1), $totalPages);
做的是確定某種形式的$max_page_number
變量的最簡單的事情,然後檢查頁面中輸入$_GET['page']
是除最大可能數少,或者,如果沒有,彌補這一和redir等到最後一頁:
$ max_page_number = 10; //或任何最大/最後頁碼, $ page_requested = $ _GET ['page'];
if ($page_requested <= $max_page_number) {
// show the page requested by the user
}
elseif ($page_requested > $max_page_number) {
// redirect to the relevant page
}
else {
// redirect to the splash page, or first page
}
也值得建議你應該檢查而不會被抓到的人無法進入index.php?page=-10
,所以你應該檢查數字小於第一頁和比您的最後一頁更大。
實際上,我發現了一些複雜的數學就在你發佈這個:(哈哈! – tarnfeld 2009-10-24 22:36:29