gpt4 book ai didi

php - 仅当与同一 ID 配对的所有行都具有日期时才从表中选择字段

转载 作者:行者123 更新时间:2023-11-29 07:11:20 25 4
gpt4 key购买 nike

我正在尝试从数据库检索一些信息。

我有下表

orderNo   item   shipping
1050 1 0000-00-00
1050 2 0000-00-00
1050 6 2016-09-18
2000 2 0000-00-00
2006 1 2016-09-05
2006 2 0000-00-00

有些订单与多个商品配对。当商品为 2 时,我想自动添加发货日期(该功能运行良好)。但仅当所有其余项目都附有日期时才需要添加脚本。

例如:-> 订单号“1050”:商品 6 有日期,但商品 1 没有日期,因此我们不会将发货日期添加到 2-> 订单号“2000”:那里只有第 2 项,所以我们可以开始了,将添加发货日期-> 订单号“2006”:第 1 项有日期,因此我们也可以向第 2 项添加日期。

换句话说,当订单中有 2 件以外的商品,并且其他配对商品中至少有一件没有发货日期时,我想忽略它

//adding the shipping date to item 2
$sql = "UPDATE orders
SET shipping = '".$shipping."'
WHERE orderNo = '".$orderNo."' AND item = '2'";
Db::getInstance()->query($sql);

//add some kind of query to check whether shipping of rest items is not zero. If it is '0000-00-00' then do not proceed
SELECT orderNo FROM orders WHERE orderNo = '".$orderNo."' AND shipping in other items than 2 has a date
//If query returns true then proceed and execute the following
$new_payment = new itemPayment();
//else do nothing

因此,在上面的查询中,我传递了订单号(例如“1050”),并且我想以某种方式检查所有其他商品(除 2 之外)是否有发货日期。如果他们都已经完成,则继续,如果没有,则不执行任何操作。

我尝试了不同的查询,但没有任何效果。只能通过mysql查询来完成吗?或者它还需要一些 PHP 代码吗?

如果有什么可以帮助我,或者至少引导我走上正确的道路,我将非常感激。

最佳答案

一种可以理解的方法是进行查询:

SELECT orderNo FROM orders WHERE orderNo = '".$orderNo."' AND item !=2 AND shipping>'0000:00:00'

然后运行php num rows查看有多少行与您的查询匹配。如果结果大于 0,则表示您不应该继续

关于php - 仅当与同一 ID 配对的所有行都具有日期时才从表中选择字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39583566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com