gpt4 book ai didi

php - 将当前记录与先前记录进行比较

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

我是 PHP 和 MySQL 新手。我已经通过谷歌搜索了几个论坛,但不知道如何让这个查询发挥作用。希望大家能够指导我。

ITEMINFO

--------------------------------------
| ItemNo | Description | Price |
| AAAAA | AAAAA description | $1.11 |
| BBBBB | BBBBB description | $2.22 |
| CCCCC | CCCCC description | $3.33 |

商店信息

-----------------------------------------------------------
| StoreNo | Add1 | Add2 | City | State | Zip |
| 11111 | 111 Main St | # 1 | New York | NY | 10001 |
| 22222 | 222 Main St | # 2 | New York | NY | 10001 |
| 33333 | 333 Main St | # 3 | New York | NY | 10001 |
| 44444 | 444 Main St | # 4 | New York | NY | 10001 |

商店订单

-------------------------------
| StoreNo | Quantity | ItemNo |
| 11111 | 10 | AAAAA |
| 11111 | 5 | BBBBB |
| 33333 | 50 | BBBBB |
| 22222 | 20 | AAAAA |

查询:列出所有已订购的商店;订购了哪些商品和数量?

$query = "SELECT * FROM STOREINFO ".
"LEFT JOIN STOREORDER ON STOREINFO.StoreNo = STOREORDER.StoreNo ".
"LEFT JOIN ITEMINFO ON STOREORDER.ItemNo = ITEMINFO.ItemNo ".
"ORDER BY STOREINFO.StoreNo ASC";

$result = mysql_query($query) or die(mysql_error());

// Print out the contents of each row into a table
while($row = mysql_fetch_array($result)){
$CheckStoreNo = trim($row['StoreNo']);
if($CheckStoreNo != "")
{
echo " *print store info* ";
---->>>> echo " *list ALL item ordered & qty* ";
}
}
echo "<hr>";
?>

输出:(格式化)

Company: Store # 11111
111 Main St, # 1, New York, NY 10001
Tel: 111-111-1111
This store ordered - Item: AAAAA - 10 pc(s)

Company: Store # 11111
111 Main St, # 1, New York, NY 10001
Tel: 111-111-1111
This store ordered - Item: BBBBB - 5 pc(s)

Company: Store # 22222
222 Main St, # 2, New York, NY 10001
Tel: 222-222-2222
This store ordered - Item: AAAAA - 20 pc(s)

Company: Store # 33333
333 Main St, # 3, New York, NY 10001
Tel: 333-333-3333
This store ordered - Item: BBBBB - 50 pc(s)

我已经走到这一步了。现在,如果您注意到#11111 商店实际上有 2(两)份不同商品的订单。我不需要 ECHO 所有重复的公司信息,只需 ECHO 一次相同的公司信息即可列出为 Store# 11111 订购的所有商品。

示例:这就是我需要的!

Company: Store # 11111
111 Main St, # 1, New York, NY 10001
Tel: 111-111-1111
1) Item: AAAAA - 10 pc(s)
2) Item: BBBBB - 5 pc(s)

Company: Store # 22222
... And so on ...

我根据每个商店的订单列出了所有订单列表。 (感谢@ularis)。

现在,如何在每个商店下订单后关闭/结束它?

示例:出于打印目的关闭每个商店的订单!

Company: Store # 11111
111 Main St, # 1, New York, NY 10001
Tel: 111-111-1111
1) Item: AAAAA - 10 pc(s)
2) Item: BBBBB - 5 pc(s)
------- End of order for Store # 11111 -----

Company: Store # 22222
... List order ...
------- End of order for Store # 22222 -----

最佳答案

这不是 MySQL,而是 PHP 问题。

您必须在前端执行此操作,如下所示:

// Print out the contents of each row into a table 
$OldStoreNo = ""
while($row = mysql_fetch_array($result)){
$CheckStoreNo = trim($row['StoreNo']);
if($CheckStoreNo != "") {
if($OldStoreNo != $CheckStoreNo) {
echo " *print store info* ";
$OldStoreNo = $CheckStoreNo;
}
echo " *list item ordered & qty* ";
}
}

与 OldStoreNo 一起,您可以跟踪每个商店的当前商品数量,以在每个商品旁边输出一个数字。

关于php - 将当前记录与先前记录进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7117990/

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