总的来说,我想回应数据库表产品的所有元素'作为一行上的按钮,并且对于每个第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行没有任何换档:
图像显示输出,但由于窗口大小,只显示了11个产品,但我一直走到窗外。
总结一下,我希望输出为每10个打印的产品插入一个换行符,并且每行应该在div中,就像在下面的操作图片中一样:(注意,为了创建图片,我有刚刚复制了行行的输出以创建第二行,因此我不希望第二行中的输出与第一行相同)
那么我在上面的代码中做错了什么?
答案 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>";
}