2016-04-24 156 views
-4

简单的PHP循环,加入循环之前工作正常,但我希望它打印4行3产品。问题是它把所有12个项目放在一行中!然后,它会在页面底部创建3个空行。PHP For循环不产生输出

增加了代码的更新版本,认为它可以帮助别人,虽然它显示正确,我必须从表中拉出15条记录。

<?php for($i = 0; $i < 4; $i++) { ?> 
      <div class="row products"> 
       <?php while($product = mysqli_fetch_assoc($featured)) : ?> 

       <!-- product--> 
       <div class="col-md-4 col-sm-6"> 
        <div class="product"> 
         <div class="image"> 
          <a href="#"><img src=" <?= "images/wheels/wheelphotos/". $product["bigpic"]; ?>" alt= "<?= $product["manufacturer"]; ?>" class="img-responsive"></a> 
          <div class="quick-view-button"><button type="button" onclick="quickModal(<?= $product["recid"]; ?>)" class="btn btn-default btn-sm">Quick view</button></div> 
         </div> 
         <div class="text"> 
          <p class="brand"><a href="#"><?= $product["manufacturer"]; ?></a></p> 
          <h3> <a href="detail.html"><?= $product["diam"]; ?></a></h3> 
          <p class="price">$<?= $product["rrp"]; ?></p> 
          <button class="btn btn-default btn-sm btn-primary">Details</button> 
         </div> 
        </div> 
       </div> 

       <?php endwhile; ?> 
      </div> 
      <?php } ?> 


<?php for($i = 0; $i < 4; $i++) { ?> 
      <div class="row products"> 
       <?php 
       $j = 0; 
       while($product = mysqli_fetch_assoc($featured)) : 
       $j++; 
        if($j > 3){ 
         break; 
        } 
       ?> 
       <!-- product--> 
       <div class="col-md-4 col-sm-6"> 
        <div class="product"> 
         <div class="image"> 
          <a href="#"><img src=" <?= "images/wheels/wheelphotos/". $product["bigpic"]; ?>" alt= "<?= $product["manufacturer"]; ?>" class="img-responsive"></a> 
          <div class="quick-view-button"><button type="button" onclick="quickModal(<?= $product["recid"]; ?>)" class="btn btn-default btn-sm">Quick view</button></div> 
         </div> 
         <div class="text"> 
          <p class="brand"><a href="#"><?= $product["manufacturer"]; ?></a></p> 
          <h3> <a href="detail.php"><?= $product["diam"]; ?></a></h3> 
          <p class="price">$<?= $product["rrp"]; ?></p> 
          <button class="btn btn-default btn-sm btn-primary" href="detail.php">Details</button> 
         </div> 
        </div> 
       </div> 

       <?php endwhile; ?> 
      </div> 
      <?php } ?> 

回答

1

您的while循环将运行多个记录作为您选择的查询。如果你需要在一定数量的记录后退出循环,你可以使用一个变量来计算你经过循环的次数,然后break在while循环之外。您的for循环将经历其下一次迭代并打印“行”格,并且循环将处理下一个记录,直到您再次登录break

+0

嗨,感谢您的回应,我的问题是我不习惯编写PHP,并且正在努力将PHP逻辑与html输出集成,我会在哪里放置if语句?我刚刚尝试用while循环添加它,但没有成功,为什么每个人都会投票回答这个问题,php作为一个整体,在他们的网站上只有很少的例子可以将php与html整合,并且只是直接的PHP语法。 – Jcode