【发布时间】:2018-10-09 17:08:27
【问题描述】:
我有一个 foreach 循环,用于打印我的应用程序中订单项更改的历史记录。每个订单项都有一个编号,每个订单项可以有多个更改。
我想要做的是在我的循环执行时在每次更改旁边显示行号。 $i 将保存行号。
$i = 1;
foreach($lineItem as $line) {
echo $i; //line number
echo $line['field_changed'];
echo $line['change_date'];
echo $line['change_from'];
echo $line['change_to'];
}
代码从名为line_item_changes 的数据库表中读取,结构如下:
id line_id parent_id
-- ------- ---------
1 2401 521
2 2401 521
3 2401 521
4 2500 521
5 2502 521
6 2502 521
每当$line['line_id'] 中的值发生变化时,我都想增加$i。因此,当结果显示时,它们看起来像这样:
Line #: 1
field: notes
date: 10/9/2018
from: test
to: test2
Line #: 1
field: quantity
date: 10/1/2018
from: 4
to: 3
Line #: 2
field: need_date
date: 10/1/2018
from: 10/24/2018
to: 10/27/2018
等等
【问题讨论】:
-
您能提供更多信息吗?据我了解,您有一个表
line_item_changes并循环遍历它,当line_id 更改时,您希望$i增加,对吗?当您循环通过line_item_changes时会出现这样的结果吗?: 第一个循环:1 - 2401(没有变化),然后是2 - 2401(没有变化),然后是3 - 2401(没有变化),然后是4 - 2500(@987654335 @ 已更改,$i将递增)。 -
是的,没错。
$i应在每次line_id更改时增加 1。所以前三个更改 (2401) 将是第 1 行 ($i = 1),2500 将是第 2 行 ($i = 2),等等。
标签: php cakephp-2.0 cakephp-2.1