【发布时间】:2020-12-11 15:53:52
【问题描述】:
我正在为一群当地企业在 COVID 期间为弱势群体提供食物做一些志愿工作。
订单示例:
Order No | Customer Name | Address | Quantity | Item Name | Notes
===================================================
#1234 | Freda Smith |3 High St | 1 | Loaf Bread | Wholemeal
#1234 | Freda Smith |3 High St | 2 | 500ml Milk | Skimmed
#1234 | Freda Smith |3 High St | 1 | Tea | Eng. Breakfast
我需要将订单号 #1234 的所有详细信息打印到一张票上,如下所示:
#1234, Freda Smith, 3 High St
1 X Loaf Bread, Wholemeal
2 X 500ml Milk, skimmed
1 X Tea, Eng. Breakfast
我玩弄了CONCAT 和CONCAT_GROUP,并试图通过将SELECT 从HTML 格式中分离出来,但无法得到我需要的东西。我很接近但没有雪茄!
编辑:
SELECT IS: $sql = "SELECT id,
Order_Number,
Full_Name,
Address,
Time_To_Deliver,
CONCAT(Quantity, Item_Name, Notes)
FROM orders
CONCAT_GROUP BY Order_Number";
$users = $mysqli->query($sql);
while($user = $users->fetch_assoc()){
【问题讨论】:
-
你有一些打印票的代码(或者甚至是循环打印票的循环)
-
你不需要 concat。您需要遍历订单中的项目并呈现工单中的项目。客户姓名和地址不应该在每个订单项目记录中重复 - 我认为这是让你失望的原因。
-
我正在循环,但只能为每个项目获取一个单独的行,或者只有一个包含第一个项目的行。
-
您可以使用
group_concat然后在,上分解(或解析为 CSV),但这与迭代结果对象并仅输出一次订单元数据相同(如果id 相同,不输出订单信息,只输出数量、备注和名称)。 -
你能上传你的PHP代码吗?
标签: php mysql concat group-concat