Laravel 4分页数

时间:2013-08-13 15:22:38

标签: php laravel laravel-4

我已在我的特定视图/网站中设置了分页,但它确实有效。

问题是我有一个php计数器:

<?php $count = 0;?> 
   @foreach ($players as $player)
    <?php $count++;?>
    <tr>
    <td>{{ $count }}. </td> 

每当我切换页面时,它都从1开始。

我怎么能改变它?

6 个答案:

答案 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