I am using laravel-dompdf to create PDF file. I want to use foreach loop to put data horizontally into three columns. It is not easy.
$items = ['aaa', 'bbb', 'ccc', 'ddd', 'eee', 'ffff', 'gggg', 'hhhh', 'iiii'];
<table style="width:100%">
@foreach($items as $key => $item)
<tr>
@if($key % 2 == 0)<td>{{ $item }}</td>@endif
@if($key % 2 != 0)<td>{{ $item }}</td>@endif
</tr>
@endforeach
</table>
Use this code:
@foreach($data as $key => $item)
@if ($key % 3 == 0)
<tr>
@endif
<td>{{ $item }}</td>
@if (($key + 1) % 3 == 0)
</tr>
@endif
@endforeach
@if (($key + 1) % 3 != 0)
</tr>
@endif
You have to:
<tr>
tag (or every 3 records)<tr>
tag when you processed 3 records<tr>
tag has been closed, otherwise close itYou can use this snippet,
<table style="width:100%">
@foreach($items as $key => $item)
@if($key % 3 == 0) <!-- if index % 3 is 0 then create tr -->
<tr>
@endif
<td>{{$item}}</td>
@if(($key+1) % 3 == 0) <!-- if index + 1 % 3 is 0 then close tr -->
</tr>
@endif
@endforeach
@if(count($items) % 3 != 0)
</tr>
@endif
</table>
Try this
<table style="width:100%">
<?php $i = 0; ?>
@foreach($items as $key => $item)
@if($i == 2)
<tr>
@endif
<td>{{$item}}</td>
@if($i == 2)
<?php $i = 0; ?>
</tr>
@endif
<?php $i++; ?>
@endforeach
</table>