每页固定记录数字逻辑分页结构的逻辑

时间:2012-03-11 09:24:04

标签: ruby-on-rails pagination logic

解释这个问题的最简单方法就是举例。请参阅特定网站上浏览链接的以下两个图像:

Image1

Image2

基本上,它的工作方式是每页有一定数量的记录,并以某种方式“向后”工作,将浏览页面分解为适当数量的范围。因此,当存在相对更多的记录时(如以“A”开头的那些记录),与存在较少记录(“X”)相比,存在更多范围和更多页面。我在Ruby on Rails中开发,但也对这里的逻辑有一些看法感兴趣。谢谢!

1 个答案:

答案 0 :(得分:0)

最简单的可视化方法是考虑“最深”的组,每组都有10个元素,因此将所有记录分成10组。 现在,每组10个应由上级组引用。 每组中的10组应由更高级别的组引用。 最后,您将达到最高级别的群体。

对于任何组,您可以获取树中第一个和最后一个元素的第一个字母,其中n是深度。因此,对于深度为1的组,您将第一个元素的第一个字符(递归深入,直到您处于最稀疏的分支)作为其范围的开始,并将最后一个元素的第一个字符作为其范围的结尾

我可以用PHP来模拟它,如果你能从中得到你需要的东西,但是不能完全理解这里的概念。