如何在php

时间:2016-09-13 20:57:46

标签: php loops iteration

我想以列表的形式从数据库中获取一些数据。以下是我的循环:

<div class="col-sm-4">
<ul>
<?php
foreach($subjects as $s)
{
echo "<li>$s->subject_title</li>";
}
?>
</u>
</div>

现在这个循环在一列中打印数据,用户必须向下滚动才能查看最后一个元素。我想以这样的方式控制循环:在打印前10个元素之后,它必须从div标签再次开始并打印下10个元素,依此类推。我想以这样一种方式显示数据,即用户不必向下滚动。

例如,我想以下列方式打印数据:

enter image description here

我编写了以下代码,但它无效。 div标签仅应用于前10个元素,而不应用于其余数据。

  <div class="col-sm-6">
            <ul class="filter-list">
                         <?php
                         $i = 0;
                         foreach($main_subjs as $i=>$ms)
                         {
                         if($i == 10) {
                         echo "</ul></div><div class='col-sm-6'><ul>";
                         $i++;
                         continue;
                         }
                         echo "<li><a href='#'>$ms->mains_title</a></li>";
                         }
                         ?>
            </ul>
                    </div> 

请帮助。

1 个答案:

答案 0 :(得分:1)

作为循环的句子,你也可以使用数组的键

foreach($subjects as $i=>$s)

当你能够“控制”你的循环时,例如:

<div>
<?php
foreach($subjects as $i=>$s) {
  if($i> 0 && $i % 5 == 0) {
    echo "</div><div>";
  }
  echo "<li>$s->subject_title</li>";
}
?>
</div>