分页:ClientSide或Serverside

时间:2010-09-14 13:32:54

标签: php jquery pagination

在用php制作的管理面板中,分页的最佳方式是什么? ClientSide(jquery)还是Serverside?

4 个答案:

答案 0 :(得分:2)

简短的回答,是的。

答案稍长一些,取决于你的页面编排

如果你要分页大量的数据,我会选择一个组合,使用ajax获取数据并让PHP找出应该发送的数据。

如果您只是使用控件对几个面板进行分页,我只需使用javascript,但这是我个人的偏好。

对于9/10解决方案,请选择更适合您的方式。

答案 1 :(得分:1)

再想一想你的问题:什么时候(以及如何)会发生什么?

客户端:

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

服务器端:

您应该只提供第一个(或实际)页面。

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

答案 2 :(得分:1)

这取决于几个因素:(不完整清单)

  • 人们希望看到其他网页的频率是多少?
    • 如果他们经常浏览你,你希望互动完全在客户端=>即时反馈。
    • 如果OTOH,其余页面很少使用,那么首先没有理由将其发送给客户。
    • 即,发送大多数用户想要的内容,仅此而已。
  • 总数据集有多大?
  • 如何加权初始加载时间(客户端较高)与服务新页面的时间(服务器端较高)?
  • ...

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

  • 仅提供首页,从而最大限度地缩短初始加载时间
  • 根据要求,通过AJAX获取其他页面 - 仅提供必要的内容以最小化“页面”加载时间

这是一个管理面板,所以你应该关注@Kristoffer S Hansen的advice :做任何你更熟悉的事情。

答案 3 :(得分:1)

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

当用户在该页面上时,他们是否可能在大多数时间内保留第一页结果?在这种情况下,服务器端分页工作正常,因为您只会遇到组装这一页数据的麻烦。

或者他们是否可能经常在结果中来回翻页?在这种情况下,您可以在单次拍摄中有效地构建所有结果,并让客户端进行分页,因为最终您将需要所有数据。