[英]PHP insert <div> and line shift after every 10th DB element in foreach loop
總體而言,我想將數據庫表“產品”的所有元素作為一行上的按鈕來回顯,並且對於每個第十個元素,都應實現換行。 每行都應包含一個特定的()。
我已經打印了一直在執行此操作的代碼:
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;
}
}
然后,我有“ products.php頁面”,其中顯示了提取的數據:
<div class="container-fluid">
<section class="wrapper">
<div class="row">
<div class="row-eq-height">
<?php require("products_backend.php"); ?>
</div>
</div>
</section>
</div>
但這是數據庫中所有產品打印在一行上的輸出,每十行沒有任何換行:
該圖顯示了輸出,但是由於窗口大小,只顯示了11種產品,但是我一直在窗口之外瀏覽。
總而言之,我希望輸出為每打印第10個產品插入一個換行符,並且每一行都應在div內,如下面的可操作圖片中所示:(注意,為了創建圖片,我剛剛復制了從行行輸出以創建第二行,因此,我不希望第二行中的輸出與第一行中的輸出相同)
那么我上面的代碼在做什么錯呢?
類“ col-md-1”看起來像一個浮動div
因此,要打破此浮動div,請嘗試以下操作:
echo "<br style=\"clear : both;\">";
您可以使用%
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++;
}
}
嘗試這個:
$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>";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.