PHP“while”循环或另一个“while”循环中的“if”语句?

2024-01-04

我有一个返回 HTML 表的 PHP/MySQL 查询,但我被困在需要进行第二个查询的部分while循环该查询。我不知道从这里该去哪里。我尝试了几种不同的方法。

我希望它循环并给我第一组数据,然后使用“Order_ID”并获取第二组数据并将第二组数据放入第一个循环中,然后再次执行此操作。

这就是我所拥有的...

<?php
    $arrayLC = array();

    $OrdersToShip = mysql_query("
        SELECT *
        FROM Orders o
        WHERE o.LotCoded = 0 ORDER BY o.Order_ID");

    if ($OrdersToShip) {
        while ($info = mysql_fetch_array($OrdersToShip))
        {
            $Order_ID = $info['Order_ID'];
            $Customer_ID = $info['Customer_ID'];
            $OrderDate = $info['OrderDate'];

            $lotCodes = mysql_query("SELECT lotCode, Qty FROM `OrdersLotCodes` WHERE `Order_ID` = '".$Order_ID."'");

            if($lotCodes) {
                while ($info = mysql_fetch_array($lotCodes))
                {
                    $lotCode = $info['lotCode'];
                    $Qty = $info['Qty'];
                    array_push($arrayLC, $lotCode, $Qty);
                }
            }

            echo '<tr class="OLine">
                 <td><input type="button" class="button viewThis" value="VIEW"></td>
                 <td>'.$Order_ID.'</td>
                 <td>'.$Customer_ID.'</td>
                 <td>'.$OrderDate.'</td>
                 <td>'.print_r($arrayLC).'</td>
                 </tr>';
        }
    }
    else {
        echo "encountered an error.".mysql_error();
    }
    mysql_close($conn);
?>

我缺少什么?我应该怎么办?

::EDIT::

我已经改变了mysql_query to:

SELECT o.Order_ID, o.Customer_ID, o.OrderDate, olc.lotCode, olc.qty
FROM Orders o
LEFT JOIN OrdersLotCodes olc ON o.Order_ID = olc.Order_ID
WHERE o.LotCoded = 0 ORDER BY o.Order_ID

现在,我如何使用 OrderLotCodes 获取输出并将它们放入要在表中打印的数组中?我如何将它们放入一个数组中,然后通过 Order_ID 引入相关的数组?


我发现的一个问题是你没有重置$arrayLC inside外层while环形;因此,每个订单的代码都会附加到前一个订单的代码之后,无限循环。

if($OrdersToShip) {
    while ($info = mysql_fetch_array($OrdersToShip)) {

    $arrayLC = array(); // SHOULD BE IN HERE!

除此之外,当您让此代码工作时,您应该考虑这样一个事实:对于 N 个订单,此代码执行 N + 1 个查询(1 个查询用于获取订单,每个订单执行一个查询以获取商品)。考虑到您只需使用以下命令即可检索相同的信息,这是一种非常低效的做事方式one查询是否执行左外连接 http://en.wikipedia.org/wiki/Join_%28SQL%29#Left_outer_join。所以你的下一站应该是阅读SQL 连接 http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html以及它们如何帮助您检索相关数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP“while”循环或另一个“while”循环中的“if”语句? 的相关文章

  • MVCC 如何与 MySql 中的 Lock 配合使用?

    我知道Mysql中使用锁或者MVCC可以实现并发控制 比如可重复读 但我不知道MVCC如何避免幻读 在其他地方了解到一般是通过MVCC和Gap Lock来实现的 但是目前我理解的是MVCC不需要锁 即更新和删除都是使用undo log来实现
  • JDBC 错误:在结果集开始之前[重复]

    这个问题在这里已经有答案了 我在 Java Eclipse 中收到错误消息 我在 MySql 中有一个数据库 它有列 String user name int id time int id desk int user password 我想
  • div 中的文本字符有限,添加“阅读更多”链接并在单击链接时显示所有字符

    我有一个 div 里面有文本 使用 PHP 和 MySQL 显示 结构如下 div class description p Here is a lot of text p div 我想在 p 标签内的文本超过 100 个字符时显示 阅读更多
  • Facebook iFrame 应用程序 - 摆脱垂直滚动条?

    我已经转换了一个 Facebook 应用程序 http apps facebook com video preferans 从 FBML 到 iFrame 使用 PHP SDK 现在显示的垂直滚动条与我之前显示的内容数量相同 一个徽标 一个
  • Ajax文件上传

    我想使用 Ajax 和 php 上传文件 我有一个表格
  • 从 php 到 JavaScript 的数组

    我正在尝试使用 json 将数组列表从 php 传输到 javascript 但它不起作用 JS ajax url getProfilePhotos php type post post or get method data if you
  • MySQL JOIN 滥用?情况会变得有多糟糕?

    我读了很多关于关系数据库的文章 在每个 SELECT 上使用许多 JOIN 语句 但是 我一直想知道滥用这种方法从长远来看是否会出现任何性能问题 例如 假设我们有一个users桌子 我通常会添加 最常用 的数据 而不是进行任何额外的联接 例
  • 将IP保存到数据库中

    当用户登录时 我想将他们的 IP 保存在数据库中 我该怎么做呢 MySQL 字段最适合使用哪种类型 获取IP的PHP代码是什么样的 我正在考虑将其用作登录 会话内容的额外安全功能 我正在考虑使用用户现在拥有的 IP 检查用户从数据库登录的
  • 如何在php中使用一张图像绘制形状

    我需要使用图像的一部分来创建帧图像 例如 用户将从后端上传图像片段 现在我需要根据前端用户的要求在前端创建一个框架 用户将选择框架的高度和宽度 然后他将选择该图像片段 如下所示 我没有办法做到这一点 我尝试通过 css 和 html can
  • Laravel 登录后重定向回来

    登录后如何重定向返回页面 在 Laravel 5 2 中 认证控制器 protected redirectTo 重定向用户
  • 如何使用 jQuery Ajax 将 PHP 数组值传递到另一个文件?

    这是我的代码
  • 如何从表中检索特定列 --- JPA 或 CrudRepository?我只想从用户表中检索电子邮件列

    用户模型 Entity Table name user uniqueConstraints UniqueConstraint columnNames email public class User implements Serializab
  • Paypal 将钱从一个帐户转移到另一个帐户

    我知道这个建议如何汇款至任何 PayPal 账户 https stackoverflow com questions 1559808 paypal api send money to any paypal account但到目前为止我所尝试
  • PHP 共享标头而不使用服务器端脚本?

    到目前为止我总是通过 PHP 解决简单的问题 您有一个包含页眉 菜单 页脚和内容字段的网站 每个页面的页眉 菜单和页脚通常是相同的 在没有 PHP 或任何其他服务器端语言的情况下 如何使页眉 菜单和页脚数据仅存在于一个文件中 例如 您不会有
  • 使用 file_get_content 发布数据

    我已经做了一些关于如何使用的研究file get content与帖子 我也读过this one https stackoverflow com questions 2445276 how to post data in php using
  • 使用 MYSQL 将 h:mm pm/am 时间格式插入数据库

    我正在尝试将以 h mm am pm 格式写入的时间插入到存储为标准 DATETIME 格式 hh mm ss 的数据库中 但我不知道如何将发布的时间转换为标准格式所以数据库会接受它 这是我到目前为止一直在尝试的 title POST in
  • 无法连接到 MAMP 上的 phpMyAdmin

    我收到此错误消息 MySQL 说道 无法连接 设置无效 phpMyAdmin 尝试连接 MySQL 服务器 但服务器拒绝连接 您应该检查配置中的主机 用户名和密码 并确保它们与 MySQL 服务器管理员提供的信息相对应 用户和通行证是默认的
  • if/else 简写来定义变量

    我很难理解 if else 的 php 简写是如何描述的here https stackoverflow com questions 20233207 php if shorthand and echo in one line possib
  • Readfile 从大文件中读取 0 字节?

    我正在尝试通过以下方式发送一个大文件readfile 但是 没有任何内容发送到浏览器 并且readfile 回报0 not false 我尝试发送的文件大小为 4GiB 并且可由 PHP 读取 我正在设置set time limit 0 以
  • rake db 问题:迁移 -

    我无法为 Ruby on Rails 设置 MySQL 数据库 设置数据库并确保 config database yml 文件匹配后 我遇到了以下错误消息 U Rails alpha gt rake db migrate trace in

随机推荐

  • 返回 Fortran 中不同长度的字符串数组

    我想创建一个类型来包含 Fortran 中的字符串数组 而无需显式分配长度 以便我可以从函数返回它 以下是我的类型 type returnArr Character dimension 4 array end type returnArr
  • 由于 JSON 中转义的单引号,jQuery.parseJSON 抛出“无效 JSON”错误

    我正在使用以下方式向我的服务器发出请求jQuery post 我的服务器正在返回 JSON 对象 例如 var value 但是 如果任何值包含单引号 正确转义 如 jQuery 无法解析有效的 JSON 字符串 这是我的意思的一个例子 在
  • Numpy 每行动态切片

    如何在不使用 for 循环的情况下动态地对给定开始和结束索引的每一行进行切片 我可以使用下面列出的循环来完成此操作 但是对于 x shape 0 gt 1 mill 的情况来说 它太慢了 x np arange 0 100 x x resh
  • 自动缩放 ImageIcon 以适应标签大小

    在我的 JFrame 上 我使用以下代码在面板上显示图像 ImageIcon img new ImageIcon res png jLabel setIcon img 我想 自动调整 标签中图片的大小 事实上 有时图像大小只有几个像素 有时
  • 清除命名图的最有效方法?

    我正在使用 Ontotext GraphDB 的一个实例 并且经常想要清除具有大量三元组的命名图 目前 我的技术涉及向图形服务器发出 SPARQL 命令 该命令搜索并匹配指定图形中每个三元组的三元组模式 DELETE GRAPH examp
  • 如何编写一个 clang 插件在编译时向原始代码注入一些代码

    我遇到了一个关于如何编写一个能够更改代码的 clang 插件的问题 我想向程序中注入一些代码 就像这样 在此处输入代码 the original code the filename is user code cpp int f1 retur
  • 现有应用程序的转换以兼容iphone5? [复制]

    这个问题在这里已经有答案了 可能的重复 如何开发或迁移适用于 iPhone 5 屏幕分辨率的应用程序 https stackoverflow com questions 12395200 how to develop or migrate
  • 如何在 activerecord 之外创建 activerecord 样式验证?

    我正在为我公司编写的软件开发一个测试框架 我们的产品是基于网络的 在运行 RESTful 请求后 我想处理结果 我希望能够在每个命令类中进行 activerecord 类型验证 以便在运行后 结果会自动针对所有 验证 进行测试 但是 我不知
  • 本地图像未在发布和 TestFlight 中渲染

    使用react native v0 63 4 并且所有本地图像在开发模式下加载良好
  • WPF - 从流加载字体?

    我有一个包含字体文件 ttf 内容的 MemoryStream 我希望能够从该流创建 FontFamily WPF 对象WITHOUT将流的内容写入磁盘 我知道这对于 System Drawing FontFamily 是可能的 但我不知道
  • Javascript背景颜色随着淡入淡出而闪烁

    我有一个 div 需要有持续闪烁的背景颜色 我想要它做的就是淡入透明的 to red并循环返回 我见过几个examples这样做 但它们都会影响整个内容div而不仅仅是background color 其他例子有闪烁background但这
  • UIWebView canGoBack 和 canGoForward 始终返回 NO

    我正在尝试将数据直接加载到UIWebView webView loadData data MIMEType text html textEncodingName utf 8 baseURL nil 数据是一些包含一些外部链接的html字符串
  • 去掉最后一个逗号

    当我的程序打印出整数 5 到 1 时 我需要帮助去掉最后一个逗号 int i for i 10 i gt 1 i if i 2 0 System out print i 2 它打印出来5 4 3 2 1 我想要打印出来5 4 3 2 1 一
  • System.Array 是否对值类型执行装箱?

    我最近做了一些粗略的性能测量List lt gt vs 对于一系列小型结构 System Array 似乎轻而易举地获胜了 所以我就这么做了 我才刚刚意识到 System Array 包含对象类型 所以用结构填充它肯定会导致装箱发生吗 然而
  • 如何在 Node.js 中使用 JQuery 选择器

    我正在尝试从硬盘驱动器中的 HTML 文件中提取电子邮件信息 如果我在 Firefox 中加载文件并运行 jQuerify bookmarklet 我可以成功使用以下选择器 函数 window jQuery a iEmail each fu
  • Rx:如何立即响应并限制后续请求

    我想设置一个 Rx 订阅 它可以立即响应事件 然后忽略指定 冷却 期内发生的后续事件 开箱即用的 Throttle Buffer 方法仅在超时结束后才会响应 这并不是我所需要的 这是一些设置场景并使用 Throttle 的代码 这不是我想要
  • 如何将 x,y,y0 以外的属性附加到 d3 中的流图层?

    我是 d3 新手 我一直在尝试自定义 Streamgraph 示例 http mbostock github com d3 ex stream html http mbostock github com d3 ex stream html
  • Vue debounce 方法?

    我知道 Vue js 内置了在输入字段上进行反跳的功能 我创建了一个滑块 它触发一个不使用输入字段的方法 我想知道是否可以利用方法内部的去抖功能 除了简单地向输入添加去抖功能之外 是否还可以使用此功能 或者我需要为此编写自己的功能吗 我刚刚
  • 从 web.config 重定向到 root 登录页面

    会话过期时 我将用户重定向到登录页面 Login aspx是在根中 我在 web config 文件中声明了这样的路径
  • PHP“while”循环或另一个“while”循环中的“if”语句?

    我有一个返回 HTML 表的 PHP MySQL 查询 但我被困在需要进行第二个查询的部分while循环该查询 我不知道从这里该去哪里 我尝试了几种不同的方法 我希望它循环并给我第一组数据 然后使用 Order ID 并获取第二组数据并将第