0

这应该很简单,但我现在想不通-我已经搜索过,但找不到合适的帮助-也许这是我对问题的措辞,这是问题-我知道这很简单,但是正如我所拥有的说我现在脑死了!

这就是我要的 Displaying 1 - 7 of 21 items

如果总共有 21 个产品,每页 7 个,则需要说明

1 - 7 / 21 在第一页
8 - 14 / 21 在第二页
15 - 21 / 21 在第三页

很确定这是加强的正确方法吗?无论如何,任何帮助将不胜感激!我可以在这上面放一个赏金——虽然很小,但至少它是一些东西!谢谢

4

4 回答 4

5

如果您知道您所在的页面以及每页的条目数,您可以计算它:

$limit = 7;
$page = 2;
$total = 21;

$upper = min( $total, $page * $limit);
$lower = ($page - 1) * $limit + 1;
printf( "Displaying %d - %d of %d on Page %d\n", $lower, $upper, $total, $page);

现在,只需遍历第 1 - 3 页即可查看输出Codepad

Displaying 1 - 7 of 21 on Page 1
Displaying 8 - 14 of 21 on Page 2
Displaying 15 - 21 of 21 on Page 3

编辑:使用 OP 的变量:

$upper = min( $products_total, $pager_current * $limit);
$lower = ($pager_current - 1) * $limit + 1;
printf( "Displaying %d - %d of %d on Page %d\n", $lower, $upper, $products_total, $pager_current);
于 2012-07-12T13:54:40.337 回答
1
$page = 0;
$max = 7;
$total = 21;

$totalPages = ceil($total / $max); // 3 pages
$currentRange = ($max*$page)+1 . " - " . ($max*($page+1));

echo $currentRange . " of " . $total;

我更喜欢从$page0 开始,然后从那里上升。这是非常简单的数学。

$currentRange高达 2的值将是

1 - 7 of 21
8 - 14 of 21
15 - 21 of 21
于 2012-07-12T13:54:12.037 回答
1

您知道您拥有的产品总数:

$total=21;

你知道你所在的页面:

$cur_page=2;

您知道一页上的项目:

$itemcount=7;

打印:

echo 'Displaying '.($itemcount*($cur_page-1)+1).' - '.$itemcount*$cur_page.' of '.$total.' items.';

于 2012-07-12T13:58:26.547 回答
0

认为这对我有用-似乎显示了我想要的结果,无论限制设置如何

$display_end = ($pager_current * $limit);
$display_start = ($display_end - $limit) + 1;

if($pager_current == $pager_max){

$display_end = $products_total; //not great but works!

}

$displaying = 'Displaying '.$display_start.' - '.$display_end.' of '.$products_total.' items';

给我以下输出

显示 1 - 5 件,共 7 件
显示 6 - 7 件,共 7 件

当我总共有 7 个产品并以每页 5 个分页时或

显示 1 - 2 的 7 项
显示 3 - 4 的 7 项
显示 5 - 6 的 7 项
显示 7 - 7 的 7 项

当产品总数为 7 并且每页分页 2 时

于 2012-07-12T14:12:18.393 回答