php - 在具有相同价值的相同 div 产品中显示 smarty
问题描述
我有 4 种产品,其中 2 种具有相同的order_id
.
这是我的聪明输出$orders
:
Array (8)
0 => Array (11)
id => "85"
order_id => "1"
user_email => "jeff@gmail.com"
total_price => "2000"
status => "Pending payment"
order_option_id => "1"
image => "Luxury-Sofa-for-Main-Room-at-Home-Design-Luxury-with-Stunning-Outdoor.jpg"
title => "ruyrytur"
variants => ""
quantity => "1"
unit_price => "123.00"
1 => Array (11)
id => "98"
order_id => "2"
user_email => "jeff@gmail.com"
total_price => "20000"
status => "Pending payment"
order_option_id => "2"
image => "Modern-Green-Home-Architecture-house-plans.jpg"
title => "Vewlix 1080p (black and white)"
variants => "Panel 2 players (+50 euros) Red backlight (+100 euros) Screen 1440p (+400 eur..."
quantity => "3"
unit_price => "2680.00"
2 => Array (11)
id => "99"
order_id => "2"
user_email => "jeff@gmail.com"
total_price => "20000"
status => "Pending payment"
order_option_id => "2"
image => "amazing-modern-villa-Freshome-02.jpg"
title => "Vewlix 1080p (red and white)"
variants => "Panel 2 players (+50 euros)"
quantity => "1"
unit_price => "2000.00"
3 => Array (11)
id => "102"
order_id => "4"
user_email => "jeff@gmail.com"
total_price => "2000"
status => "1"
order_option_id => "4"
image => "amazing-modern-villa-Freshome-02.jpg"
title => "Vewlix 1080p (red and white)"
variants => "Panel 2 players (+50 euros)"
quantity => "1"
unit_price => "2000.00"
我尝试了许多 foreach 以在同一个 div 中“合并”具有相同 order_id 的产品但没有成功
这是我想要的输出:
<div>
id 85
</div>
<div>
id 98
id 99
</div>
<div>
id 102
</div>
我的 foreach (简单地循环到结果中)
{foreach $orders as $orderdisplay}
<table class="table" style="border: 1px solid black;">
<tbody>
<tr>
<td></td>
<td>ITEM</td>
<td>QUANTITY</td>
<td>PRICE</td>
<td>STATUS</td>
</tr>
<tr>
<td>
</td>
<td>{$orderdisplay.title}<br />{$orderdisplay.variants}</td>
<td>{$orderdisplay.quantity}</td>
<td>{$orderdisplay.total_price}</td>
<td>{$orderdisplay.status}</td>
</tr>
</tbody>
</table>
<span>{$orderdisplay.total_price}</span>
{/foreach}
解决方案
bsmither 在 smarty 论坛上给出的解决方案:
{foreach $orders as $n}
{$OID[{$n.order_id}][] = $n}
{/foreach}
{foreach $OID as $o_id => $orders4OrderID}
<div>
{foreach $orders4OrderID as $order}
product id {$order.id}
{/foreach}
</div>
{/foreach}
推荐阅读
- go - 如何做使用dynamodb数据库的API功能测试?
- c - 为什么 0000 以 0x303030 开头?
- string - PostgreSQL Hibernate-types 与 JSONB 相关的数据转换错误
- javascript - 如何每 10 秒点击一次“我的按钮”?
- javascript - 在 html 文件中不起作用的电子相对路径中?
- node.js - 重构 git 标签时出现“使用现有 refs 调用的初始 ref 事务”错误
- ios - 使用日期字符串 Swift 解析大型 json 数据时 CPU 使用率高
- javascript - 单击未更改名称的按钮时面临的 setState 问题
- go - 永久通道终止程序并与 RabbitMQ 消费者一起进入通道
- python - ModuleNotFoundError:没有名为“sklearn.svm._classes”的模块