PHP在foreach循环中的每个第10个DB元素之后插入<div>和行移位

时间:2015-08-09 08:05:22

标签: php html mysql

总的来说,我想回应数据库表产品的所有元素&#39;作为一行上的按钮,并且对于每个第10个元素,应该实现换行。每一行都应该用特定的()包围。

我已经打印了我一直在使用的代码来执行此操作:

products_backend.php:

$stmt = $db->prepare("SELECT * FROM products");
$stmt->execute();

$count = $stmt->rowCount();

if($count > 1){

    $table_row = $stmt->fetchAll();
    $i = 0;

    foreach($table_row as $data) {
        $i++;

    ?>
                    <div class="col-md-1 cash_register pants">
                    <button class="table_add" value="Bukser">
                        <h4><?php echo $data['product_name']; ?></h4>
                    </button>
                    </div>
                    <?php 

                    if ($i%10 == 0):
            echo "<br>";
        endif;  
        }
    }

然后我有&#34; products.php页面&#34;,其中显示了提取的数据:

<div class="container-fluid">
<section class="wrapper">
<div class="row">
<div class="row-eq-height">
    <?php require("products_backend.php"); ?>
</div>
</div>
</section>
</div>

但是这个输出是DB中打印在一行上的所有产品,每10行没有任何换档:

enter image description here

图像显示输出,但由于窗口大小,只显示了11个产品,但我一直走到窗外。

总结一下,我希望输出为每10个打印的产品插入一个换行符,并且每行应该在div中,就像在下面的操作图片中一样:(注意,为了创建图片,我有刚刚复制了行行的输出以创建第二行,因此我不希望第二行中的输出与第一行相同)

enter image description here

那么我在上面的代码中做错了什么?

3 个答案:

答案 0 :(得分:0)

班级&#34; col-md-1&#34;看起来像一个漂浮的div

所以要打破这个浮动的div,试试这个:

echo "<br style=\"clear : both;\">";

答案 1 :(得分:0)

您可以使用% moduler在每10条记录后添加div;

更新的代码:

$stmt = $db->prepare("SELECT * FROM products");
$stmt->execute();

$count = $stmt->rowCount();

if($count > 1){

    $table_row = $stmt->fetchAll();
    $i = 0;

    foreach($table_row as $data) {

        if(($i%10) == 0){ echo "<div class="clearfix"></div>";}
    ?> 
                    <div class="col-md-1 cash_register pants">
                    <button class="table_add" value="Bukser">
                        <h4><?php echo $data['product_name']; ?></h4>
                    </button>
                    </div>
                    <?php 

          $i++; 
        }

    }

答案 2 :(得分:0)

试试这个:

$stmt = $db->prepare("SELECT * FROM products");
$stmt->execute();

$count = $stmt->rowCount();

if($count > 1){

    $table_row = $stmt->fetchAll();
    $i = 1;
    echo "<div>";
    foreach($table_row as $data) {
    ?> 
                    <div class="col-md-1 cash_register pants">
                    <button class="table_add" value="Bukser">
                        <h4><?php echo $data['product_name']; ?></h4>
                    </button>
                    </div>
                    <?php 
            if(($i%10) == 0){ echo "</div><div>";}
          $i++; 
        }
       echo "</div>";
    }