所以我在PHP這樣做,但它是一個邏輯問題,所以我會盡力把它寫成一般越好。分頁問題[PHP]
要啓動這裏的這個分頁腳本是如何工作的:
- 爲(畫前三頁鏈接) 如果有#1的頁面之間的頁面
- 如果(平局省略號(...) (和#3的網頁)
- 爲(吸取當前頁和每邊兩頁它鏈接)
- 如果畫省略號(...)如果有#3的頁面和#5的頁)
- 爲(得出最後三個頁面之間的頁面鏈接)
的問題是,當有大量低頁面(當頁面數量爲10時我注意到了)應該有一個省略號,但沒有繪製。
走上代碼:
$page_count = 10; //in actual code this is set properly
$current_page = 1; //in actual code this is set properly
for ($i = 1;$i <= 3;$i++)
{
if ($page_count >= $i)
echo $i;
}
if ($page_count > 3 && $current_page >= 7)
echo "...";
for ($i = $current_page - 2;$i <= current_page + 2;$i++)
{
if ($i > 3 && $i < $page_count - 2)
echo $i;
}
if ($page_count > 13 && $current_page < $page_count - 5)
echo "...";
for ($i = $page_count - 2;$i <= $page_count;$i++)
{
if ($page_count > 3)
echo $i;
}
所以我想最好的辦法將是修改兩個省略號的一個if語句,包括像這樣的情況,不過我試過和很爲難。
同時請注意,我這個凝結代碼可讀性的緣故,所以請不要給像「那些循環是無效的,因爲他們將重新計算CURRENT_PAGE - 2每次迭代」的提示,因爲我知道:)
對於那些誰希望看到的這個邏輯目前是如何工作的故障,這裏是一個輸出示例(修改)與迭代$ PAGE_COUNT和$ CURRENT_PAGE。 http://rafb.net/p/TNa56h71.html
這不是一個PHP的問題!請不要添加PHP標籤,因爲代碼示例甚至沒有用PHP編寫! – 2008-11-21 06:32:17
您可能希望提供*工作*示例代碼,以便自己測試您的邏輯的人員不必使用自己的語言重新實現您的'僞代碼',以便他們可以測試它做任何事情。 – 2008-11-21 06:37:22