使用laravel分页增加行号

问题描述 投票:6回答:7

如何使用laravel分页增加行号?当我使用分页时,我转到第2页及以上,它将回到开头。例如,我将分页(3)

    <thead>
    <tr>
       <th>No</th>
       <th>Name</th>
    </tr>
    </thead>
    <tbody>
    <?php $i = 1; ?>
    @foreach ($telephone->results as $telp)
    <tr>
       <td>
         {{$i++}}
       </td>
       <td>{{ $telp->name }}</td>                               
    </tr>
    @endforeach
    </tbody>

当我转到第2页时,该号码将再次从1开始。

当我转到第2页时,我需要制作它,它将从4开始

laravel laravel-3
7个回答
6
投票

您应该能够使用getFrom方法获取当前页面结果的起始编号。因此,不应该设置$i = 1;,你应该能够做到这一点。

<?php $i = $telephone->getFrom(); ?>

在Laravel 3中没有getFrom方法,因此您需要手动计算它。

<?php $i = ($telephone->page - 1) * $telephone->per_page + 1; ?>

6
投票

在Laravel 5.3中你可以使用firstItem()

@foreach ($items as $key => $value)    
  {{ $items->firstItem() + $key }}
@endforeach

5
投票

以下工作与laravel 5.4

<?php $i = ($telephone->currentpage()-1)* $telephone-
>perpage() + 1;?>
@foreach($telephone as $whatever)
<td> {{ $i++ }}</td>
@endforeach

编辑以下适用于上面的laravel 5.7

@foreach ($telephone as $key=> $whatever)
  <td>{{ $key+ $telephone->firstItem() }}</td>
@endforeach

3
投票

Laravel 5.3

@foreach ($products as $key=>$val)
  {{ ($products->currentpage()-1) * $products->perpage() + $key + 1 }}
@endforeach

1
投票

您只需添加以下行即可

$i = ($telephone->currentpage()-1)* $telephone->perpage();

代替

$i = 1;

1
投票
@php($sl = ($yourVariable->perPage() * $yourVariable->currentPage()) - ($yourVariable->perPage() - 1))

@foreach($yourVariable as $item)

<td>{{ $item->key_name }}</td>

.....

@php($sl++)

@endforeach

0
投票

或完全避免使用php标签

 @foreach ($users as $key => $user)
    {{ (Input::get('page', 1) - 1) * $users->getPerPage() + $key + 1 }}
 @endforeach
© www.soinside.com 2019 - 2024. All rights reserved.