【问题标题】:How to add pagination Using PHP?如何使用 PHP 添加分页?
【发布时间】:2017-09-03 08:26:25
【问题描述】:

我正在使用 API,我可以访问当前页面 URL 和最终页面 URL,

我通过 $page 获取当前页面 URL,通过 $total 获取最终页面 URL,

我通过 $page + 1 得到下一页,

我需要将帖子导航器显示为

<< 1 2 3 4 5 .... 190 >>

假设190为最后一页,

问题是当我到达第 190 页时,分页显示 &lt;&lt; 190 191 192 193 194 ... 190 &gt;&gt;

怎么解决,因为190是最后一页,我需要显示它之前的页面,还要禁用>>下一页,

如果是 Page 1 ,我需要禁用

所有页面数据都是使用 $_GET 请求提供的,所以所有页面都是相同的......没有单独的主页或结束页面......

【问题讨论】:

  • 可能对你有帮助:stackoverflow.com/a/40069769/7832155
  • 始终在您的问题中发布您的最新/最佳代码。
  • 到目前为止你尝试了什么??,我们不是从底层解决你的问题,用代码示例更新问题

标签: php pagination


【解决方案1】:

您需要计算起始页、结束页并对其进行迭代。

例如,第一页应该从 1 到 5 开始,但由于 5 小于,然后是最大页面 (190),您应该添加“...”和 190。但是,因为起始页是 1,你不应该允许“

如果您在第 190 页,则结束页面可能是 190 + 5 = 195。但是最大页面为 190,设置为结束页面。因此,起始页将是结束页 - 5:190 - 5 = 185。因为您的结束页是最大页面,所以禁用“>>”链接。因为 185 大于 1,所以可以加上“...”和 1。

其他的都只是为了更好看的算法的一个小细节。

【讨论】:

    【解决方案2】:

    您应该只检查 $page == $total 然后将 $page 减去 1 我假设您正在使用 while 循环或 for 循环来迭代它。并且还应该有一个终止条件,例如 while $page >=1。 你只需要使用循环和条件来解决你的问题。 前任。伪代码

    $page = 200; // getting it by extracting the get request
    $total = 200;
    while($page >= $limit) //$limit can be defined by you upto which you want to iterate.
    {
    $page = $page - 1;//echo it in html
     }
    

    【讨论】:

      猜你喜欢
      • 2015-12-20
      • 2011-07-09
      • 2017-11-04
      • 1970-01-01
      • 2015-10-30
      • 2020-04-05
      • 2014-12-14
      • 2016-04-04
      • 2018-02-13
      相关资源
      最近更新 更多