真正的分页与下一个和上一个按钮

时间:2010-05-14 18:09:35

标签: php pagination

通过真正的分页,我在第3页中的意思是这样的:

<<Previous 1 | 2 | {3} | 4 | 5 |...| 15 | Next>>

通过Next和Previous按钮,我在第3页中指的是这样的事情:

<<previous Next>>

性能明智我确定Previous和Next Buttons更好,因为与真正的分页不同,它不需要过度查询数据库。通过过度查询数据库,我的意思是从数据库中获取的信息比您在页面上显示的信息要多。

我的理论是,上一个和下一个按钮可以大大提高网站性能,因为它只需要您需要在页面上显示的确切信息,如果我错了,请纠正我。

所以,

对于这两个选项,用户真的有偏好吗?

它只是一个开发者偏好及其便利吗?

您更喜欢哪一个?为什么呢?

*注意:上一个和下一个按钮通常标记为较新和较旧。

7 个答案:

答案 0 :(得分:6)

当我缺乏经验时,我建立了一个网站并选择了Next / previous。我昨天碰巧在那个网站上工作,这是我认为是新手错误的事情之一。不应该存在性能差异,如果与用户的挫折相比,它可以忽略不计,则需要额外的点击次数。

您的用户体验比保存几个cpu周期更重要。你可能会说,“但是,如果该网站因为我的资源密集的分页链接而变得非常受欢迎并且会崩溃,那该怎么办呢?”我的回答是,“一个难以使用的网站如何变得如此受欢迎?” (我也怀疑分页不是真正的罪魁祸首)

答案 1 :(得分:4)

  

对于这两个选项,用户真的有偏好吗?

是。如果我只想进入第15页,我不想按Next 12次。

答案 2 :(得分:2)

如果操作正确,编号分页不应该对性能造成任何影响。请记住,对数据库执行的查询数量远远大于查询返回的数据量。在这两种情况下,您都应该能够在一个查询中获得所需内容。

就易用性而言,这是有争议的,这取决于您的应用/用户。只使用上一个/下一个更简单,但另一个提供了更多选项,可以更容易跳过。我大部分时间都喜欢编号的分页,但这仍然是个人偏好的问题。

答案 3 :(得分:1)

在进行真正的分页时,您不需要获取多个页面的数据;你只需要知道所有记录的数量(以及每页适合的记录数量。

从可用性的角度来看,直接链接到页面是一个巨大的胜利,特别是如果用户知道他想要去哪个页面。如果您有大量页面,您可能需要稍微截断它,通过显示这样的链接(假设您当前在第7页,总共有99页):

  

1 2 3 ... 6 7 8 ... 97 98 99

答案 4 :(得分:1)

如果您没有从数据库中获取可能页面的总数,那么如果用户单击“下一步”并且没有更多要显示的内容,则可能会导致用户体验不一致。他们可能认为网站已损坏或出现问题。我会坚持使用经过验证的真实模板显示页码:

 [first, [#], [#], ... [previous|#], [current|#], [next|#] ... [#], [#], last] 

答案 5 :(得分:1)

我认为在用户术语中,如果项目没有显示在前两页上,则他们不会为无限页面单击“下一步”,而是创建一个全新的查询。

就数据库查询而言,这可能很昂贵。我们假设有一个汽车网站,我输入“2010 Ford Ranger”。现在我的期望是,在第一页,我会看到2010年福特游骑兵队。如果我看到其他年份或其他公司,我很可能会回去尝试使用不同的条款或不同的条款再次搜索。

所以我认为第一步是在前几页为用户取回正确的结果,假设他们正在搜索材料。

然后,对于分页,我想最大的问题是你想怎么做。您可以使用memcaching将总结果存储到memcache中,然后只存储一个唯一的ID。

答案 6 :(得分:0)

根据我的经验,它只取决于客户端询问的内容。当我有自己的选择时,我会选择真正的分页,因为它更加用户友好。

<<Previous 1 | 2 | {3} | 4 | 5 |...| 15 | Next>>