PDO MySQL产品循环

时间:2015-05-22 09:18:56

标签: php mysql pdo

对于查询和PDO,我是一个真正的初学者,我需要在我忙的项目中提供一些帮助。我想要完成的是显示数据库中的产品。但是我使用的模板样式迫使我每行显示3个产品,是否有一种方法可以显示每行3个产品并且一旦超过3个就循环代码(如果有5个产品,前3个将显示在第一行,其余的在第二行。)

这是我正在使用的模板,请注意div类“top-box”,这会强制每行只能显示3个产品。

input{
    width: 300px;
    height: 30px;
}
span {
    font-weight: bold;
}

3 个答案:

答案 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++;
}