php - 如何以 2 组为一组回显结果?

标签 php mysql sql loops

如何修改 SQL 结果集,使结果为 (A) 而不是 (B)。我需要以某种方式打破每两个结果的循环,以便这两个结果包裹在一个行类中。请看下面:

(A) 我喜欢发生什么:

<div class="row">
  <div class="large-6 columns"></div>
  <div class="large-6 columns"></div>
</div>

<div class="row">
  <div class="large-6 columns"></div>
  <div class="large-6 columns"></div>
</div>

(B) 发生了什么:

<div class="row">
   <div class="large-6 columns"></div>
   <div class="large-6 columns"></div>   
   <div class="large-6 columns"></div>
   <div class="large-6 columns"></div>
</div>

代码:

<div class="row"> 

<?php $query = "SELECT * FROM recipe";

$result = mysql_query($query);

while($row = mysql_fetch_array($result)) {
?>         

  <div class="large-6 columns">          

     <h4><?php echo $row['recipe_title'] ?></h4>

     <p><?php echo $row['recipe_description'] ?></p> 

  </div> 

<?php } ?>

</div>  

最佳答案

您可以尝试添加一个计数器变量,每次调用循环时该变量都会增加。使用modulus operator然后在循环被调用两次后关闭当前行并打开一个新行:

<div class="row"> 

<?php $query = "SELECT * FROM recipe";

$result = mysql_query($query);
$i = 1;
while($row = mysql_fetch_array($result)) {
?>         

  <div class="large-6 columns">          

     <h4><?php echo $row['recipe_title'] ?></h4>

     <p><?php echo $row['recipe_description'] ?></p> 

  </div> 

<?php 
    if($i % 2 === 0) {
        echo '</div><div class="row">';
    }
    $i++;
} 

?>

</div>  

关于php - 如何以 2 组为一组回显结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27107307/

相关文章:

php - 在哪里可以找到 PHP 输出/日志

javascript - AJAX 请求不返回数据

php - 如何用PHP下载msg文件

javascript - 如何在javascript中使用PHP调用SQL记录

sql - 像 Farmville 这样的在线游戏使用什么数据库?

php - 带有 php :7. 1-fpm 的 Docker 镜像的 GD 库

mysql - MySQL 查询中 '".$string ."' 和 '$string"之间有什么不同

php - 如何在我的电子邮件模板中使用从数据库中获取的变量值

sql - 外键不会阻止我输入数据 MySQL

sql - 跨多列排列的唯一约束