【问题标题】:Pagination without query number of pages? [closed]没有查询页数的分页? [关闭]
【发布时间】:2012-01-13 01:54:47
【问题描述】:

如何在不查询元素数量且不从数据库中获取所有元素的情况下进行分页系统。我想使用动态大小或迭代器。我想避免使用 SQL_CALC_FOUND_ROWS 或 COUNT(*)。

【问题讨论】:

  • 什么样的分页?有页码?
  • @Col.Shrapnel 是的,有页码
  • 在不知道记录数的情况下应该如何获取页数?

标签: pagination


【解决方案1】:

好吧,如果不知道有多少项,就无法创建完整的分页界面。您可以向用户显示“下一个”/“上一个”按钮,但不能向他们显示有多少页,或者他们当前在哪个页面上。

而且...这就是我能说的全部,因为你给出的细节为零。

【讨论】:

    【解决方案2】:

    如果您使用 MySQL,SQL_CALC_FOUND_ROWS 后跟 SELECT FOUND_ROWS() 是您的朋友。否则,您必须执行单独的COUNT(*) 查询才能了解有多少数据可用。

    无论哪种方式,一旦您知道有多少行,您就可以除以每页的项目数来计算页数并整理分页控件。这并不难。计算数据的开销(前提是要求数据库对数据进行计数,而不是全部检索并手动计数)。

    另外,现在很多网站变得懒惰并诉诸粗糙的“加载更多项目”按钮而不是真正的分页。如果您讨厌您的用户,或者它不超过几页,那么这是一个不错的选择。

    【讨论】:

      猜你喜欢
      • 2016-11-12
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-19
      • 1970-01-01
      相关资源
      最近更新 更多