4个条目后关闭div标签 - mysql循环

时间:2014-04-16 12:33:39

标签: php mysql html

我希望我的脚本在db的每四个条目之后添加一个结束div标记。我试过这样的事情:

<div class="row">
$ergebnis = $mysqli->query("SELECT name FROM pages Where city = '1';");

while($zeile = $ergebnis->fetch_array()) {


echo "<div class=\"col-sm-4 col-md-3\">
echo "<h3>".$zeile['name']."</h3>";
..
echo "</div>";

$i=0;
i++;
if ($i == 4){
echo "</div>";}

}
?>
如果你能在这里帮助我,那将是很棒的。 THX

2 个答案:

答案 0 :(得分:2)

试试这段代码,

<div class="row">
$ergebnis = $mysqli->query("SELECT name FROM pages Where city = '1';");

$i=0;  
while($zeile = $ergebnis->fetch_array()) {
      echo "<div class=\"col-sm-4 col-md-3\">
      echo "<h3>".$zeile['name']."</h3>";
      ..
      echo "</div>";

     $i++;
     if ($i == 4){
          echo "</div>";
          $i = 0;
     }
}
?>

答案 1 :(得分:2)

1)获取所有城市的名称

2)启动索引变量

3)循环遍历

4)当$ i == 0(非常第一次)或$ i%4 == 0(当要打印第五个条目时)打开<div class="row">。 (请记住,您使用的是基于0的索引,即初始化$ i = 0)。

5)当第四个城市名称被打印时关闭<div class="row">的div标签,即$ i%3 == 0(记住你使用的是基于0的索引,即初始化$ i = 0)。

以下代码:

<?php

    $ergebnis = $mysqli->query("SELECT name FROM pages Where city = '1';");

    $i=0;

    while($zeile = $ergebnis->fetch_array()) {   

        if ($i == 0 || $i%4==0){ // <div class="row"> opens on first entry and every fifth entry
            echo "<div class=\"row\">"; 
        }

        echo "<div class=\"col-sm-4 col-md-3\">";
        echo "<h3>".$zeile['name']."</h3>";
        /*
            Rest of your code
        */
        echo "</div>";

        $i++;
        if ($i % 3 == 0){
            echo "</div>"; // <div class="row"> closes here on every fourth entry
        }

    }
?>