2011-12-05 66 views
-4

如何在沒有查詢元素數量的情況下執行分頁系統,並且無需從數據庫獲取所有元素。我想使用動態大小或迭代器。我想避免SQL_CALC_FOUND_ROWS或COUNT(*)。沒有查詢頁數的分頁?

+0

什麼樣的分頁?與頁碼? –

+0

@ Col.Shrapnel是的,頁碼 –

+1

它應該如何在不知道記錄數的情況下獲取頁數? –

回答

0

那麼,不知道有多少項目,你不能創建一個完整的分頁界面。您可以向用戶顯示「下一個」/「上一個」按鈕,但不能向他們顯示其中有多少頁,或者目前在哪個頁面上。

而......這就是我所能說的,因爲你沒有給出細節。

1

如果您使用的是MySQL,SQL_CALC_FOUND_ROWS後跟SELECT FOUND_ROWS()是您的朋友。否則,您必須執行單獨的COUNT(*)查詢以查明有多少數據可用。

無論採用哪種方式,只要知道有多少行,就可以按每頁的項目進行劃分,從而對頁面進行計數並對分頁控件進行分類。這並不難。計數數據的開銷(前提是要求數據庫對其進行計數,而不是全部檢索並手動計數)並不是那麼重要。

另外,現在很多網站都很懶惰,只能使用原始的「加載更多項目」按鈕而不是真正的分頁。如果你討厭你的用戶,或者它不超過幾頁,那麼這是一個不錯的選擇。