对于查询和PDO,我是一个真正的初学者,我需要在我忙的项目中提供一些帮助。我想要完成的是显示数据库中的产品。但是我使用的模板样式迫使我每行显示3个产品,是否有一种方法可以显示每行3个产品并且一旦超过3个就循环代码(如果有5个产品,前3个将显示在第一行,其余的在第二行。)
这是我正在使用的模板,请注意div类“top-box”,这会强制每行只能显示3个产品。
input{
width: 300px;
height: 30px;
}
span {
font-weight: bold;
}
答案 0 :(得分:2)
您可以在产品foreach-loop中使用count变量。每三个产品你可以关闭顶盒并打开一个新的(这是一个假设,因为我不知道你的风格是如何工作的。)
在foreach循环结束时:
if ($count != 0 && $count % 3 == 0) {
echo '<div class="clear"></div>';
echo '</div>'; // close last .top-box
echo '<div class="top-box">';
}
++$count;
我不知道您的问题是如何与PDO相关联的。请记住,在查询中使用未转义的变量可能会有危险。看看这里寻求帮助:https://stackoverflow.com/a/60496/2516377
答案 1 :(得分:2)
你可以这样解决:
<?php
if ($counter % 3 == 0 && $counter!=$total_row_fetched) {
echo '<div class="clear"></div>';
echo '</div>';
echo '<div class="top-box">';
}
if($counter==$total_row_fetched){
echo '<div class="clear"></div>';
echo '</div>'; // it will close the last open div
}
++$counter;
?>
答案 2 :(得分:1)
添加计数器并使用%
算术运算符计算列号。
$counter=0;
foreach (...) {
$column_number=$counter % 3;
$counter++;
}