2

我只是想做一个发票表。我正在使用“融合发票”。所以这是获取和显示项目到表格的代码。

代码行数 PHP

我想做一个不变的表,它仍然打印空行。

发票示例

如果我的表中有 2 个项目而不是添加 5 个空白行,那么我总共将有 7 行。所以如果我有 4 个项目,我只需要添加 2 个空白行就可以得到总共 7 个。我尝试使用if函数,但不知道如何。

4

2 回答 2

1

使用for循环而不是 a可能会更好foreach,前提您始终知道篮子行的最大数量,在本例中为 7。

使用三元运算符检查是否有与第 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.
}
于 2013-09-25T12:32:37.853 回答
0

我认为您最好向 $items 对象添加更多空白项。

于 2013-09-25T12:49:01.420 回答