每 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 的相关文章

  • Yii2 - 错误请求 (#400) |前端和后端cookie

    仅当我打开时才会出现此问题frontend and backend在相同的browser 设想 与后端交互 gt 切换选项卡 gt 与前端交互 gt 切换选项卡返回 gt 与后端交互 gt 错误请求 400 Cookie 后端 identi
  • AWS-PHP-SDK / SNS 直接寻址返回错误

    您好 我正在使用 Laravel 4 设置来利用 AWS SNS 向我的 iOS 设备发送推送消息 从 AWS 控制台向我的设备发布命令效果很好 然后我尝试从 PHP sns AWS get sns sns gt publish array
  • PHP - 如何获取主要 HTML 内容,例如 Firefox 中的阅读器模式

    在 android Firefox 应用程序和 safari iPad 中 我们只能通过 阅读器模式 阅读主要内容 阅读更多 http support mozilla org en US kb how enable reader mode
  • 仅 IE9_有时_会忽略

    我们正在开发一个大量使用 这是典型的 TYPO3 网站 该网站是在子目录中开发的 稍后将被重新定位到顶级目录 因此我们无法轻易删除 我们的客户告诉我们 有时当她浏览新页面时 她得到的页面内容没有应用布局 我们对此进行了调试 仅在 IE9 中
  • 如何使用 PHP 构建正确的 SOAP 请求

    我需要格式化 构建此 SOAP 服务 的请求 http api notificationmessaging com NMSOAP NotificationService wsdl http api notificationmessaging
  • CakePHP 视图包括其他视图

    我有一个 CakePHP 应用程序 在某些时候会显示带有产品媒体 图片或视频 的视图 我想知道是否有某种方式可以包含另一个威胁视频或威胁图片的视图 具体取决于标志 我想将这些 小视图 用于其他几个目的 所以它应该 像 蛋糕组件一样 以便重用
  • 如何从网站网址中隐藏 .html 扩展名

    我知道这个问题以前曾被问过 但有人知道隐藏 html 扩展名的好方法吗 我已经尝试了许多代码和许多答案https stackoverflow com https stackoverflow com 但我没有看到结果 那是我再问你一次 我有一
  • 如何在 GitHub Action 中使用不同版本的 PHP 进行测试

    我有一些 PHP 代码 其中包含使用以下命令运行的测试PHPUnit并想对其进行测试GitHub Actions 我在他们的文档中找不到测试 PHP 包的方法 我想使用不同版本的 PHP 进行测试 但他们只有最新的版本7 3安装 您可以添加
  • 分页显示所有其他页面上第 1 页的相同帖子

    我最近在创建即将发生的事件列表时得到了很多帮助 请参阅此处显示即将举行的活动 包括今天的活动 https stackoverflow com questions 17343615 showing upcoming events includ
  • jQuery:离线后 POST 出错(iOS 和 Chrome)

    我构建了一个具有离线功能的 HTML5 Web 应用程序 使用 AppCache 程序流程为 Online 在网络上时 应用程序预加载一些基本信息 工作 Offline 用户拿着装有应用程序的平板电脑offline 然后在应用程序上执行他们
  • jQuery - 如何从 div > p 获取文本

    如何从 div 类中获取主题名称 div class subject img src image eng jpg p English p div div class subject img src image bio jpg p Biolo
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • html 选择列表 - 通过传入变量获取文本值?

    我有一个显示列表语言的选择列表
  • PHP 中标头的使用

    非常简单的问题 这两个 PHP 版本 5 标头调用中哪一个是 最好的 header Not Modified true 304 header HTTP 1 1 304 Not Modified 我很确定第一个是最多价的 但只是好奇如果在 H
  • docker 中的 php Curl 冲突 CURLOPT_FILE 和 CURLOPT_RETURNTRANSFER

    当我使用curl时CURLOPT FILE and CURLOPT RETURNTRANSFER选项 文件为空 没有任何curl错误 fp fopen saveTo w ch curl init fileUrl curl setopt ch
  • 通过互联网IP地址从一台计算机访问xampp到另一台计算机

    我试图从另一台计算机访问我的 xampp 它显示为禁止错误 然后我在 google 上搜索答案 因为他们告诉在 apache 文件夹中的 httpd conf 文件中更改一些设置 如下所示 Order Deny Allow Deny fro
  • 如何在codeigniter中将上传图片比例限制为16:9?

    这是我用来上传图像的代码 this gt load gt library upload ext pathinfo file name PATHINFO EXTENSION img name now ext imgConfig upload
  • 带倒计时的php循环

    假设我从 400 开始计数器 我将如何执行一个向后运行直到 0 的 foreach 循环 伪代码 i 400 foreach SOMETHING do stuff i for i 400 i gt 0 i do stuff 其他方法 i 4
  • CodeIgniter:My_Lang 中的 get_instance

    我发现这个有用的国际化代码 http pastebin com SyKmPYTX http pastebin com SyKmPYTX 一切正常 除了我无法在此类中使用 CI 函数 我想从 DB 设置 languages 和 special
  • PHP 接口有属性吗?

    PHP 中的接口有属性 还是只有方法 您可以在 DocBlock 中为接口声明属性 然后 IDE 将提示接口的这些属性 PhpStorm 会这样做 但这不会强制在实现类中实际实现这些字段 例如 property string passwor

随机推荐

  • 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