代码之家  ›  专栏  ›  技术社区  ›  TheNone Nabster

分页:客户端或服务器端

  •  0
  • TheNone Nabster  · 技术社区  · 15 年前

    在用php制作的管理面板中,分页的最佳方式是什么?客户端(jquery)还是服务器端?

    4 回复  |  直到 15 年前
        1
  •  1
  •   fabrik    15 年前

    再想一想你的问题:什么时候(怎样)会发生什么?

    客户端:

    要实现客户端分页,您应该将所有行(数据)提供给您的客户端,因为此时您还没有关于需要哪个页面的任何信息。然后借助(可能的)javascript解决方案,将所有提供的数据分割成更小的块,模拟分页。

    服务器端:

    你应该只提供第一页(或实际页)。

    当然,我会选择服务器端分页。

        2
  •  2
  •   Kristoffer Sall-Storgaard ProllyGeek    15 年前

    简而言之,是的。

    如果您要分页大量数据,我会使用一种组合,使用ajax获取数据,并让PHP排序应该发送哪些数据。

    如果你只是简单地用控件分页几个面板,我只会用javascript,但这是我个人的偏好。

    对于9/10的解决方案,选择你认为合适的。

        3
  •  1
  •   CaseyB jack    15 年前

    你的决定将取决于数据的使用方式。

    当一个用户在那个页面上时,他们有可能大部分时间都停留在结果的第一页吗?在这种情况下,服务器端分页工作得很好,因为您只需经历组装这一页数据的麻烦。

    或者他们可能会不停地翻阅结果?在这种情况下,您最好在一次快照中高效地构建所有结果,并让客户机进行分页,因为您最终将需要所有数据。

        4
  •  1
  •   Community Mohan Dere    9 年前

    • 人们希望看到第一页以外的其他页面的频率是多少?
      • 如果他们经常浏览,你会希望交互完全在客户机上=>即时反馈。
      • 如果,OTOH,其余的页面很少被使用,那么首先就没有理由把它发送给客户机。
    • 整个数据集有多大?
    • 您如何权衡初始加载时间(客户端更高)与服务新页面的时间(服务器端更高)?
    • ...

    我会选择服务器端,但是:

    • 只提供第一页,从而最小化初始加载时间

    这是一个管理面板,所以你应该 跟随@kristofer S Hansen'S advice :做你觉得舒服的事。