每 3 条记录后新建包含 div

2024-01-30

我想创建一个新的包含<div>3 个结果后,使用 PDO 结果循环。

对于我的自学项目,我必须使用引导程序制作一个产品页面,并且在每第三条记录之后,我必须制作一个新行并再次显示 3 col-md-4,等等。

现在我将其作为我的代码:

<div class="row">
    <?php
    while ($row = $stmt->fetch(PDO::FETCH_OBJ)) {
    ?>
        <div class="col-md-4">
            <div class="product">
                <div class="title"><?php echo $row->pname ?></div>
                <div class="img"><img
                    src="../product/img/<?php echo $row->pnumber ?>/<?php echo $row->pthumbnail ?>.jpg?$pop210x210$"/>
                </div>
                <div class="vijftien"></div>
                <div class="deliver">Levertijd: <strong><?php echo $row->pdelivertime ?></strong></div>
                <div class="vijf"></div>
                <div class="other"></div>
                <div class="row">
                    <div class="col-md-6">
                        <div class="price"><?php echo $row->pprice ?></div>
                    </div>
                    <div class="col-md-6">
                        <div class="order">
                            <button class="log_in" id="doLogin">Meer informatie</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    <?php } ?>
</div>

我访问并研究了其他问题,但我并不真正了解他们是如何做到这一点以及如何在我的代码中实现正确的方法。


正如塔德曼在您的问题下的评论中所述。最好的方法应该使用模运算符 http://php.net/manual/en/language.operators.arithmetic.php (%) with 3.

将分离条件放在每次迭代的开始处。 (Demo http://sandbox.onlinephpfunctions.com/code/74a24f115fec724dbc148a59a73619e72f2f9a13)

像这样:

$x=0;  // I prefer to increment starting from zero.
       // This way I can use the same method inside a foreach loop on
       // zero-indexed arrays, leveraging the keys, and omit the `++` line.
echo "<div class=\"row\">";
    foreach($rows as $row){
        if($x!=0 && $x%3==0){  // if not first iteration and iteration divided by 3 has no remainder...
            echo "</div>\n<div class='row'>";
        }
        echo "<div>$row</div>";
        ++$x;
    }
echo "</div>";

这将创建:

<div class="row"><div>one</div><div>two</div><div>three</div></div>
<div class='row'><div>four</div><div>five</div><div>six</div></div>

后期编辑,这里有一些针对类似情况的其他方法,它们将提供相同的结果:

foreach(array_chunk($rows,3) as $a){
    echo "<div class=\"row\"><div>",implode('</div><div>',$a),"</div></div>\n";
}

or

foreach ($rows as $i=>$v){
    if($i%3==0){
        if($i!=0){
            echo "</div>\n";
        }
        echo "<div class=\"row\">";
    }
    echo "<div>$v</div>";
}
echo "</div>";

为了澄清什么不应该做...

Sinan Ulker 的答案将导致不需要的结果,具体取决于结果数组的大小。

这是一个揭示该问题的通用示例:

使用此输入数组来表示您的 pdo 结果:

$rows=["one","two","three","four","five","six"];

每次迭代结束时 Sinan 的条件:

$i=1;
echo "<div class=\"row\">";
    foreach($rows as $row){
        echo "<div>$row</div>";
        if($i%3==0)echo "</div>\n<div class='row'>";  // 6%3==0 and that's not good here
        // 6%3==0 and will echo the close/open line after the content to create an empty, unwanted dom element
        $i++;
    }
echo "</div>\n\n";

将创建这个:

<div class="row"><div>one</div><div>two</div><div>three</div></div>
<div class='row'><div>four</div><div>five</div><div>six</div></div>
<div class='row'></div>                          //<--- this extra element is not good
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每 3 条记录后新建包含 div 的相关文章

  • Laravel 5.7:维护模式的自定义刀片模板,但不是 503.blade.php

    每次php artisan down开启后 Laravel 显示 503 页面 好的 我可以通过创建名为的新文件来自定义它503 blade php inside resources views errors 关键是 我在任何时候都不认为维
  • Bootstrap

    我正在尝试使用 Bootstrap 构建一个网站 到目前为止 一切都按计划进行 我想要一个固定的导航栏 并且我正在使用内置函数 div class navbar navbar fixed top 这很棒 正是我所需要的 但我希望导航和标题从
  • 多行有多个提交按钮,我应该为每个按钮制作一个表单吗?

    我列出了大约 20 行 每行代表一个订单 每行需要有 3 个按钮 每个按钮单击将执行不同的操作 我有 3 个操作来处 理每个按钮发布请求 我只是不确定如何为每个按钮设置 Html 表单 tr td td tr
  • 在问题内显示内联块文本

    我一直在尝试显示内联块 如果我没有在 div 中添加任何内容 一切都会很好 但是当我这样做时 div 会折叠起来 我不知道确切的原因 任何想法 https jsfiddle net giancorzo ebqoptbd https jsfi
  • django:如何在模板html页面内进行计算?

    您好 我正在使用缩略图插件来获取图像的宽度和高度 现在我想使用从缩略图插件获取的高度来定义 img 标签的填充 例如 img style padding top img height 2 src 但是我在这里遇到错误 django不允许这样
  • 不区分大小写的 array_unique

    我正在尝试编写几行代码来创建一个不区分大小写的数组唯一类型函数 这是我到目前为止所拥有的 foreach topics as value lvalue strtolower value uvalue strtolower value if
  • 将我的 Laravel 连接到外部数据库

    如何将 Laravel 连接到外部数据库 示例 我的本地计算机上有一个 Laravel 它在 xampp 上运行 我希望它连接到云服务器数据库 打开 env文件并编辑它 只需设置正确的外部数据库凭据 DB CONNECTION mysql
  • Chart.js - 使用 mysql 和 php 从数据库获取数据

    我正在尝试将静态数据转换为使用数据库结果 我将使用MySQL and PHP 示例代码 var randomScalingFactor function return Math round Math random 100 var lineC
  • Symfony 4 生产模式错误处理页面内存耗尽

    我将我的项目设置为prod模式在 env除了自定义错误页面之外的所有内容似乎都有效 我将此作为我的 404 树枝模板 templates bundles TwigBundle Exception error404 html twig inc
  • Bootstrap 4 Beta 0 网格系统上的 Rowspan

    您好 我正在开发一个使用 Bootstrap 4 Beta 的电子商务模板 我让它在移动设备上工作 但在桌面设备上我不知道如何让购买按钮保持在标题下 在我的方法中 它出现在 图库 部分下 Desired Desktop Desired Mo
  • ElasticSearch 和 PHP 中的多个字段搜索

    我正在使用最新版本弹性搜索 PHP https github com elasticsearch elasticsearch php以及最新版本的 MongoDB 和 ElasticSearch 我需要对可以包含一个或多个值的多个字段进行搜
  • PHP 使用主键和辅助键对多维数组进行排序[重复]

    这个问题在这里已经有答案了 如何按主键和辅助键对多维数组进行排序 例如 假设有以下数组 result array result 0 prio 1 result 0 date 2010 02 28 result 0 post February
  • 如何使用 PHP 将字符串按大写字母分解?

    我有一个字符串 CamelCaseString 我想对大写字母进行explode split 或一些更好的方法来将该字符串分解为单个单词 最简单的方法是什么 解决方案更新 此链接指向一个略有不同的问题 但我认为答案通常比本页当前问题的答案更
  • Laravel 5 命名约定

    我对 Laravel 约定有点困惑 因为我是这个框架的新手 我正在关注 Jeffrey Way 他使用的 Laracasts 视频Plural对于控制器名称 E g 页面控制器 卡片控制器 帖子控制器 但如果我参考官方文档Laravel g
  • 检查字符串是否编码为 UTF-8

    function seems utf8 str length strlen str for i 0 i lt length i c ord str i if c lt 0x80 n 0 0bbbbbbb elseif c 0xE0 0xC0
  • 如何在html中定义条件换行符?

    我希望这根绳子断在 如果需要的话 没有地方可以写了 7 380 Ft 159 Ft term kd jjal like 7 380 000 Ft 159 125 Ft term kd jjal 如何在html中实现这一点 nbsp 产生 错
  • 禁用复选框上的输入

    需要在取消选中该复选框时禁用输入 并在选中该复选框时启用它 我的代码是这样的 div class y div
  • 当php脚本通过ajax运行时显示进度条

    我有一个通过 ajax 向服务器提交值的表单
  • 如何缩短 PHP if 语句?

    我有一个 if 语句 我需要将单个字符串与许多不同的选项进行比较 我在下面发布的代码非常清楚地表明了我的意思 我知道有两种方法可以做到这一点 但另一种甚至更长 那么 是否有任何函数可以以更短的方式实现类似的功能 我的要求可能看起来很愚蠢 但
  • mysql_query 保留返回时在表中创建的数据类型?

    我在mysql中有一个表 CREATE TABLE user id INT name VARCHAR 250 我查询表 result mysql query SELECT id name FROM user 我收集结果 while row

随机推荐

  • Apache 基准 HTTPS 失败

    我在 Ubuntu 虚拟机中使用 Apache 2 4 2 我用它来加载测试 将请求发送到某个 HTTPS url 失败的请求数为零 但我的请求都无法真正得到处理 已经在数据库中查找 使用相同的url 通过浏览器调用它就可以了 数据库已更新
  • Python 中按年月分组并删除所有 NaN 的列

    基于来自的输出数据帧这个链接 https stackoverflow com questions 69937232 groupby year month and find top n smallest values columns in p
  • 原子属性的 setter 和 getter

    对于以下属性值 自动生成的 getter 和 setter 是什么样的 in h interface MyClass NSObject private NSString value property retain NSString valu
  • Qt/C++ 如何迭代给定类对象的 QMetaObject 属性/数据类型?

    在 C Java 中 我使用反射来读取类的属性 我尝试过使用 Qt 但不知道是否能正确解决我的问题 一个简单的 Person 类头 注意 3 个属性 id fname lname ifndef PERSON H define PERSON
  • 我可以创建私有枚举构造函数吗?

    在 Haskell 中我可以做这样的事情 示例改编自学习 Haskell http learnyouahaskell com making our own types and typeclasses algebraic data types
  • Angular - 顺序进行多个 HTTP 调用

    我需要创建一个函数来顺序进行 HTTP 调用 以便使用一个调用的响应到另一个调用 例如从第一次调用中获取用户的 IP 地址 并使用该 IP 在第二次调用中注册用户 演示代码 registerUser user User this utili
  • 如何配置 Sublime Text 在保存时始终转换为 Unix 行结尾?

    我希望我在 Sublime Text 中保存的所有文件都采用 Unix 行结束格式 即使我打开最初以不同格式保存但后来在 Sublime Text 中编辑的文件也是如此 简单设定 default line ending unix 还不够 因
  • Django INSTALLED_APPS 'polls' 与 'polls.apps.PollsConfig'

    在每个 YouTube 教程中 我都看到人们只是将 app name 添加到 INSTALLED APPS 列表中 昨天我开始了官方 Django 教程 他们建议使用 app name apps App nameConf 符号 我猜官方方法
  • 理解java的同步集合

    我正在阅读java官方doc https docs oracle com javase tutorial collections implementations wrapper html关于包装器实现 它们是静态方法收藏用于获取同步集合 例
  • 数字签名时间戳在 XP/Vista 上“不可用”,导致验证失败

    背景 我有一个 WiX Burn 安装包 其中包括安装 ReportViewer 2012 Runtime 在 Windows 7 或更高版本的计算机上运行时 它工作正常 在 XP SP3 或 Vista SP1 上它会失败 现在 检查Re
  • 使用mysqldump将表数据导出到csv文件

    我想使用 mysqldump 将表数据导出到 csv 文件中 我想做一些类似的东西 mysqldump compact no create info tab testing fields enclosed by fields termina
  • JBoss 4.2.2 Web服务soap:地址

    我在 JBoss 4 2 2 中部署了一个 EJB3 bean 作为 Web 服务 在生产中 服务器位于 Apache 服务器后面 该服务器将请求重定向到 Jboss 服务器 这使得 WSDL 具有错误的soap address 位置 我能
  • 将按钮添加到 PreferenceScreen

    我不知道如何在PreferenceScreen 向上按钮会在应用程序图标旁边的操作栏中显示插入符号 使您可以导航应用程序的层次结构 更多信息here http developer android com training implement
  • 查找 CSV 文件中的重复项总数

    我正在解析 CSV 文件 需要您的帮助 我的 CSV 文件中有重复项 我想告诉Python向我提供重复地址的总数和唯一地址的总数 然后列出它们 我已经成功到达地址显示它是唯一还是重复的部分 但现在我想告诉 Python 也为我提供受尊重的数
  • 查看和设置 Safari/Chrome 的 HTTP 标头

    我正在测试一个 API 我想用 safari 来访问它并查看返回的原始 json API 要求每个请求都发送特定的 HTTP 标头 Safari 或 Chrome 中有没有办法在访问 URL 时设置我的 http 标头 有几个 Google
  • 如何在 Pytorch 中可视化网络?

    import torch import torch nn as nn import torch optim as optim import torch utils data as data import torchvision models
  • 历史推送后,反应路由器不会重新渲染

    我希望在用户登录后重新渲染 刷新 所以我使用history push要做到这一点 import history from layout Navbar export const loginUser userData gt dispatch g
  • 如何在 JavaScript 中有效地将预定义大小的大块分割成较小的块,这些块是其大小的因素?

    假设我们有这样的结构 16 bins let BIN OF BINS 128 bits each chunk 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 52428
  • MATLAB 将多个图形保存到 PDF

    有什么办法可以做到这一点吗 我知道如何使用 saveas saveas 1 filename pdf 将一个图形保存到 PDF 文件中 但是否可以添加多个图形 所以像 saveas 1 2 3 filename pdf Thanks 我不这
  • 每 3 条记录后新建包含 div

    我想创建一个新的包含 div 3 个结果后 使用 PDO 结果循环 对于我的自学项目 我必须使用引导程序制作一个产品页面 并且在每第三条记录之后 我必须制作一个新行并再次显示 3 col md 4 等等 现在我将其作为我的代码 div cl