我已在我的特定视图/网站中设置了分页,但它确实有效。
问题是我有一个php计数器:
<?php $count = 0;?>
@foreach ($players as $player)
<?php $count++;?>
<tr>
<td>{{ $count }}. </td>
每当我切换页面时,它都从1开始。
我怎么能改变它?
答案 0 :(得分:17)
为了达到这个目的,你需要初始化counter的值:
<?php $count = (($current_page_number - 1) * $items_per_page) + 1; ?>
注意我首先从当前页面中减去1
,因此第一个页码为0
。然后我将1
添加到总结果中,因此您的第一个项目以1
开头,而不是0
。
Laravel Paginator提供了一个方便的快捷方式:
<?php $count = $players->getFrom() + 1; ?>
@foreach ($players as $player)
...
您可以随意使用其他一些内容:
$players->getCurrentPage();
$players->getLastPage();
$players->getPerPage();
$players->getTotal();
$players->getFrom();
$players->getTo();
答案 1 :(得分:1)
<?php echo "Displaying ".$data->getFrom() ." - ".$data->getTo(). " of ".number_format($data->getTotal())." result(s)"; ?>
答案 2 :(得分:1)
我们只需要Paginator实例中的方法getFrom
才能从页面中的第一项开始计算。
<?php $count = $players->getFrom(); ?>
@foreach ($players as $player)
<tr>
<td>{{ $count++ }}. </td>
</tr>
@endforeach
答案 3 :(得分:0)
<?php $count++; ?>
@if($players->getCurrentPage() > 1)
{{ ((($players->getCurrentPage() - 1)* $players->getPerPage()) + $count)}}
@else
{{$count}}
@endif
答案 4 :(得分:0)
你不需要柜台。
获得从0开始的密钥后,需要添加1。 之后,您每页添加当前页面1 *项目
你可以这样做:
@foreach ($players as $key => $player)
<tr>
<td>{{ $key+1+(($players->getCurrentPage()-1)*$players->getPerPage()) }}</td>
</tr>
@endforeach
答案 5 :(得分:0)
简单而优雅:
@foreach ($players as $key => $player)
<tr>
<td>{{ $players->getFrom() + $key }}</td>
</tr>
@endforeach