當我使用LIMIT
來創建結果頁面時,我們通常如何知道偏移量,即每個請求應該檢索哪個頁面?
通過cookies?我如何知道每個限制的偏移量?
回答
傳統上通過查詢字符串參數。網址通常包括?page=3
要求3頁,就像你會看遍堆棧溢出:https://stackoverflow.com/questions?page=2&sort=newest
這是你絕對應該不通過cookie做。網址應該包含導航到給定頁面所需的所有內容。考慮一下用戶爲第三頁的結果添加書籤,或者嘗試將其他人鏈接到他們正在查看的頁面:使用cookie來存儲分頁數據可以完全打破這些情況。
@fdreger不,不是。在現實世界中,你絕對不應該這樣做。這不是「傳道」,如果你想構建不會破壞用戶眼睛的應用,這是你需要遵循的建議。在會話中存儲*頁碼*,與網址解耦,並不能解決任何*問題,只會引入它們。 – meagar 2013-05-08 20:29:52
僅僅因爲你的經驗關注於一種類型的開發(主要涉及PHP框架,RoR,Django--傳統的,面向行動的框架)並不意味着世界就此結束。 *您*不知道JavaServer Faces,ASP.NET,Vaadin或Errai如何工作並解決實際問題 - 並不會使它們變得更差。或更好。只是不同。 – fdreger 2013-05-08 20:42:09
@fdreger:嗨!我認爲微不足道的意思是將頁碼存儲爲會話對象的一部分是不鼓勵的。不是使用會話對象來存儲會話數據通常是一個壞主意。至少這是我如何理解他的答案。在這種情況下,不能書籤書籤的問題似乎對我來說似乎是合理的。 – Jim 2013-05-08 20:54:38
通常通過操作框架(RoR,ZF,Cake,Django)中的請求參數和組件框架(Prado,JSF,ASP.NET)中的會話狀態。會話通常與Cookie請求相關聯。
使用會話存儲當前頁面在面向業務的應用程序中很常見,其中gui的狀態可能非常複雜,並且實際上可以爲頁面添加書籤。
「共同」是主觀的,「共同」並不意味着「正確」。這仍然是一個可怕的做法,並*打破*你的網址欄。情有可原的情況總是存在,但告訴新用戶,這是有效的,不瞭解他們的情況,是*錯*。正確的決定是*總是*將查詢字符串用於其設計的內容,並且在您確實有足夠的經驗知道需要偏差時進行偏離。 – meagar 2013-05-08 20:59:19
- 1. 當我知道字符偏移量時,如何創建一個範圍對象?
- 2. 如何知道C#中BinaryReader的當前偏移量?
- 3. 如何知道BufferedReader的字節讀取(偏移量)?
- 4. 如何知道EDIT控件中的偏移量來繪製文本?
- 5. mplot3d:contourf偏移量,限制和刻度
- 6. Laravel 4.1:Eloquent偏移量和限制
- 7. 偏移MySQL的無限制
- 8. 如何檢索從某個偏移量到某個限制的所有行?
- 9. Mysql偏移量無限行
- 10. 如何添加偏移量和限制到我的php rss解析器?
- 11. SQL如何執行限制和偏移量?
- 12. 如何設置限制,偏移量,跳過貓鼬查詢
- 13. 如何使用限制/偏移量選擇來優化select_related?
- 14. 限制和偏移不可
- 15. 從給定的二維偏移量知道CUDA中的塊ID
- 16. C++類的成員變量知道其自己的偏移
- 17. 如何知道偏移量如何從大文件中獲得一行
- 18. 我想知道,當startOffsetTime的值是kafka.api.OffsetRequest.EarliestTime()。偏移值是什麼?
- 19. 我如何知道視圖已移動?
- 20. 如果已知偏移量,如何獲得結構的成員?
- 21. MySQL的限制和偏移誤差
- 22. Apache Mahout。建議的限制或偏移
- 23. mysql中的負限制偏移
- 24. 軌道設計與Amazon S3的如何限制每個用戶
- 25. 舊版SQL Server的QueryDSL分頁結果(限制/偏移量)
- 26. mysql性能的連接限制和偏移量
- 27. 只有跳過(偏移量)的SqlLite(不限制)
- 28. 使用限制和偏移量只對特定的地方
- 29. Facebook中的限制偏移量iOS圖形API
- 30. 檢索具有偏移量和限制的文件夾項目
@meagar:你的意思是:'?page = 2'? – Jim 2013-05-08 20:16:28
是的,請參閱[我的答案](http://stackoverflow.com/a/16449423/229044)。 – meagar 2013-05-08 20:19:16