如何使用PHP添加分页?

时间:2017-04-07 20:42:58

标签: php pagination

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

我按$ page获取当前页面网址,按$ total获取最终页面网址

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

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

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

假设190为最后一页,

问题在于,当我到达第190页时,分页显示<< 190 191 192 193 194 ... 190 >>

如何解决这个问题,因为190是最后一页,我需要在它之前显示页面,并且还要禁用&gt;&gt;接下来,

相同如果是第1页,我需要禁用&lt;&lt;按钮......

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

2 个答案:

答案 0 :(得分:0)

您需要计算起始页,结束页并迭代它们。

例如,对于第一页,您应该从1开始到5,但是当5更少,然后是最大页面(190),您应该添加“...”和190.但是,因为起始页是1,你不应该允许“&lt;&lt;”链接。

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

其他一切只是算法的一个小细节,以便更好看。

答案 1 :(得分:0)

你应该检查$ page == $ total然后将$ page减去1我假设您正在使用while循环或for循环来迭代它。并且还应该有一个终止条件,例如$ page&gt; = 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
 }