使用laravel分页增加行号

时间:2013-08-02 18:57:52

标签: laravel laravel-3

如何使用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开始。

11 个答案:

答案 0 :(得分:6)

您应该能够使用getFrom方法获取当前页面结果的起始编号。因此,您应该能够执行此操作,而不是设置$i = 1;

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

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

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

答案 1 :(得分:6)

在Laravel 5.3中,您可以使用firstItem()

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

答案 2 :(得分:5)

以下内容适用于laravel 5.4

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

<强>被修改 以下适用于上面的laravel 5.7

#loop should start here        
    pop_size=50
    #128 to #135 loop
    W = initial_population(region, scale , pop_size)

    pop = PatternPosePopulation(W, pat)
    pop.set_distance_image(imd)

    pop.temperature = 5

    Lw, Lc = pop.particle_filter_search(int(1000/pop_size),log=True)
    #Loop should end here for example run pop 50 x n times and store best_cost, take average of bestcost save to csv file.

    plt.plot(Lc)
    plt.title('Cost vs generation index')
    plt.show()

    print(pop.best_w)
    print(pop.best_cost)

答案 3 :(得分:3)

Laravel 5.3

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

答案 4 :(得分:1)

您只需添加以下行

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

取代

$i = 1;

答案 5 :(得分:1)

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

@foreach($yourVariable as $item)

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

.....

@php($sl++)

@endforeach

答案 6 :(得分:1)

对于Laravel 6.2: $ loop-以防万一,它是Blade中的内置实例

@foreach($array as $item)
    <tr class="table-row">
      <td class="site-id">
         {{($array->currentPage() - 1) * $array->perPage() + $loop->iteration}}
      </td>
    </tr>
@endforeach
</table>

答案 7 :(得分:1)

在Laravel 6中


@php $i = ($data->currentpage()-1)* $data->perpage() + 1;@endphp

@foreach($data as $banner)
 <tr>
   <td>{{$i}}</td>
   <td><img src="{{ URL::to('/') }}/dist/img/{{$banner->name}}" height="250" width="600"></td>
 </tr>
 @php  $i += 1; @endphp
@endforeach

答案 8 :(得分:0)

完全避免使用php标签

 @foreach ($users as $key => $user)
    {{ (Input::get('page', 1) - 1) * $users->getPerPage() + $key + 1 }}
 @endforeach

答案 9 :(得分:0)

如果您正在使用Laravel分页。效果很好

后端

public function index()
{
    return view('your.telephone.index', [
        'telephone' => Telephone::paginate(15)
    ]);
}

刀片前端

<td>{{ (($telephone->currentPage() * 10) - 10) + $loop->iteration  }}</td>

别忘了嵌入页面

{{ $telephone->links() }}

对于$loop->iteration

在此处查看文档:{​​{3}}

对于$telephone->currentPage()

在此处查看文档:{​​{3}}

答案 10 :(得分:0)

您可以在控制器中使用它。下面给出的例子

$records = Table::paginate(20);
return view('yourview',compact('records')->with('i', ($request->input('page', 1) - 1) * 20);

注意:分页值必须等于with()函数vlaue

之后,您可以在刀片文件中使用 $i 变量。控制器根据页码计算值返回刀片

在刀片文件中。在循环内使用

{{ ++$i }}

希望对你有帮助