2015-06-26 33 views
0

美好的一天,如何将列表动态分隔为不同的div

我有我的页面中的类别列表,但任何时候都可以添加或删除它。你能帮我制定一个循环,把我的名单分成最多5个名单每格。

ex。

foreach($categories as $cat) 
    <label><input type ="checkbox"><?php echo $cat->name ?></label></br> 
endforeach 

上述代码将生成复选框列表中1列

enter image description here

所以我尝试该环路

<?php $count = 0; ?> 
    @foreach($categories as $cat) 
    @if($count == 0) 
    <div class="col-md-4"> 
    @elseif($count == 5) 
    <?php $count = 0; ?> 
    </div> 
    @endif 
    <label><input type="checkbox" value="{{$cat->xid}}">{{$cat->category}}</label><br> 
    <?php $count++; ?> 
    @endforeach 

和它生成这样

enter image description here

但它只包装列表中的前5个元素,接下来的5个元素不起作用。你能帮助我:)建议真的很感激

+0

在这种情况下,我们需要一些数据来处理,因为你说它与一些而不是其他的。 –

+0

我不认为这是香草的PHP,它是刀片? –

+0

你好@DanielCheung是它的刀锋。 :) – melvnberd

回答

1

以下是我修改后生成所需布局的代码。您需要将CSS应用到class =“col-md-4”以按照您的要求分离每个块。

<?php $count = 0; ?> 
@foreach($categories as $cat) 
@if($count == 0) 
    <div class="col-md-4"> 
@endif 

@if($count> 0 && $count%5 == 0) 
     </div> 
     <div class="col-md-4"> 
@endif 

<label><input type="checkbox" value="{{$cat->xid}}">{{$cat->category}}  
</label><br> 
<?php $count++; ?> 
@endforeach 

@if($count <= 5) 
    </div> 
@endif 
+0

非常感谢你的时间Mr @RajeshK :) – melvnberd

1

这是在香草PHP中,但你可以很容易地使用你的刀片模板中的逻辑。我测试了它,效果很好。

<?php 
    $categories = ['test','test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7', 
'test','test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7','test','test1', 
'test2', 'test3', 'test4', 'test5', 'test6', 'test7','test','test1', 'test2', 'test3', 
'test4', 'test5', 'test6', 'test7']; 
$end = end($categories); 

$count = 1; 
foreach($categories as $cat){ 
    if($count == 1 || $count % 5 == 1){ 
     echo '<div class="col-md-5">'; 
    } 
?> 

<label><input type ="checkbox"><?php echo $cat ?></label></br> 

<?php 
    if(($count % 5 == 0) && $count != 0 || ($cat == $end)){ 
    echo '</div>'; 
    } 
    $count++; 
} 
?> 
相关问题