【问题标题】:How to echo a specific content after fetching 4 rows in MySQL database如何在 MySQL 数据库中获取 4 行后回显特定内容
【发布时间】:2018-04-14 09:53:25
【问题描述】:

我正在做一个后端系统,从索引页面显示的产品应该遵循网格系统。例如,我有 8 个来自 MySql 数据库的产品。我想将它们分成 2 行,每行 4 个产品。所以我的 PHP 代码看起来像:

<div class="row">
<?php
$result = mysqli_query($conn, "SELECT * FROM products");
while ($row = mysqli_fetch_array($result)) {
?>
<div class="col-dsk-4"><?php echo $row["name"]; ?></div>
<?php
}
?>
</div>

正如您在代码中看到的,我希望在回显 4 次(4 次 &lt;div class="col-dsk-4"&gt;)后,退出 while 循环,然后继续一个新的 &lt;div class="row"&gt;,直到它遍历 MySql 表中的所有元素。

我的解决方案是否正确?如果是,请帮助我,否则,请告诉我您的解决方案。

【问题讨论】:

  • 嗨,@ChingChongPa,你能详细点吗?我不确定我是否得到它。非常感谢!
  • 请看下面我的回答,你有点接近,但我的回答应该告诉你如何做到这一点。

标签: php mysql fetch backend grid-system


【解决方案1】:

你可以试试下面的代码。

我正在做的不是使用while,而是将其切换为foreach 来遍历数组。

我使用count 来指示何时应添加&lt;div class="row"&gt;。 在第一项和每第四项上,它应该添加一个新行。

我还更新了我打电话给&lt;?php ?&gt; 的方式,这样阅读起来更容易/更干净。

如果您有任何问题,请告诉我:

<?php $result = mysqli_query($conn, "SELECT * FROM products"); ?>
<?php $rows = mysqli_fetch_array($result); ?>

<!-- Use count to decide when to put a new div with class 'row' -->
<?php $count = 1; ?>

<?php foreach ($rows as $key => $row) { ?>

    <!-- Create a new div with class 'row' on the first item + everytime theres a 4th one -->
    <?php if ($count == 1 || ($count % 4 == 0)) { ?>
        <div class="row">
    <?php } ?>

        <div class="col-dsk-4">
            <?php echo $row["name"]; ?>    
        </div>

    <!-- Close div with class 'row' everytime theres a 4th one -->
    <?php if ($count == 1 || ($count % 4 == 0)) { ?>
        </div>
    <?php } ?>

    <!-- Increment the count -->
    <?php $count++; ?>
<?php } ?>

【讨论】:

  • 哦,这正是我所需要的,非常感谢您帮助我解决这个问题。
  • 但是,您可以在 count 大于 4 时将其设置回 0,而不是增加计数
  • 是的,这是另一种方式
  • 嗨@giolliano sulit,经过长时间的测试并弄清楚自己,我发现您的代码有一些需要修复的错误:第一件事是关于数组$rows。您必须先执行一个 while 循环才能将值插入其中,然后才能执行一个 foreach 循环。另外,我使用您告诉我的相同方法找到了 while 循环的解决方案。无论如何,感谢您的支持!
猜你喜欢
  • 2014-02-03
  • 2014-11-14
  • 1970-01-01
  • 2016-12-31
  • 1970-01-01
  • 2012-07-04
  • 1970-01-01
  • 2019-10-16
  • 1970-01-01
相关资源
最近更新 更多