2009-10-24 53 views
0

我知道這聽起來很混亂: 我剛剛爲mysql創建了一些基本的prev/next分頁,我想知道,如果我的行的最後一頁是.php?page = 5和某人把.php?page = 263然後我想重定向他們.php?page = 5將用戶重定向到我的分頁上的最後一頁

關於如何做到這一點的任何想法..我目前擁有的信息是,多少行後返回LIMIT所以如果它是.php?page = 263那麼它將是0 我也有我的數據庫中的行總數...極限是10 :)

在此先感謝!

回答

2

如果你已經有行的總數,你知道有多少行,你會每頁可以顯示,那麼你就可以計算出最後一頁像這樣:

$totalPages = ceil($rows/$perPage); 

然後,只需限制電流到一個合理的限度頁:

$page = isset($_GET['page']) ? (int) $_GET['page'] : 1; 
$page = min(max($page, 1), $totalPages); 
+0

實際上,我發現了一些複雜的數學就在你發佈這個:(哈哈! – tarnfeld 2009-10-24 22:36:29

0

做的是確定某種形式的$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,所以你應該檢查數字小於第一頁和您的最後一頁更大。

相關問題