【发布时间】:2013-10-01 00:59:49
【问题描述】:
我只是想做一个发票表。我正在使用“Fusion Invoice”。所以这是获取项目并将项目显示到表格的代码。
我想做一个不变的表,它仍然打印空行。
如果我的表中有 2 个项目而不是添加 5 个空白行,那么我总共将有 7 行。因此,如果我有 4 个项目,我只需要添加 2 个空白行就可以得到总共 7 个。我尝试使用 if 函数,但不知道如何。
【问题讨论】:
标签: php html foreach html-table
我只是想做一个发票表。我正在使用“Fusion Invoice”。所以这是获取项目并将项目显示到表格的代码。
我想做一个不变的表,它仍然打印空行。
如果我的表中有 2 个项目而不是添加 5 个空白行,那么我总共将有 7 行。因此,如果我有 4 个项目,我只需要添加 2 个空白行就可以得到总共 7 个。我尝试使用 if 函数,但不知道如何。
【问题讨论】:
标签: php html foreach html-table
使用for 循环而不是foreach 可能会更好,只有如果您总是知道篮子线的最大数量,在这种情况下为 7。 p>
使用ternary operator 检查是否有与第 1-7 行匹配的篮子行,如果没有 - 打印空白。
<?php
/**
* Loop through each $items
* line of the basket as $lines[1] .. $lines[2]..
**/
for ( $x = 0; $x <= 7; $x++ ) {
//Does this basket line have an item?
$hasLine = ( isset( $items[$x] ) ? true : false ); ?>
<tr>
<td><?php echo ( $hasLine ? $items[$x]->item_name : '' ); ?></td>
<td><?php echo ( $hasLine ? $items[$x]->item_description : '' ); ?></td>
<td><?php echo ( $hasLine ? $items[$x]->item_quantity : '' ); ?></td>
<td><?php echo ( $hasLine ? $items[$x]->item_subtotal : '' ); ?></td>
</tr>
<?php } ?>
尽管如此,您始终可以将数字 7 替换为包含最大数量发票行的变量,无论它们是否为空。
$invoiceLines = 7;
for ( $x = 0; $x <= $invoiceLines; $x++ ) {
//Code.
}
【讨论】:
我认为你最好在 $items 对象中添加一些空白项。
【讨论】: