我只是想做一张发票表。我正在使用“ Fusion Invoice ”。所以这是采取和显示项目的代码。
我想做一个不变的表,仍然打印空行。
如果我的表中有2个项目而不是添加5个空白行,那么我总共有7行。所以,如果我有4个项目,我只需要添加2个空行来获得总共7个。我尝试使用if
函数,但不知道如何。
答案 0 :(得分:1)
使用for
循环代替foreach
可能会更好,只有如果您总是知道篮子线的最大数量,在这种情况下 - 7。
使用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.
}
答案 1 :(得分:0)
我认为你最好在$ items对象中添加一些空白项目。