Foreach用于绘制html表

时间:2013-09-25 12:25:30

标签: php html foreach html-table

我只是想做一张发票表。我正在使用“ Fusion Invoice ”。所以这是采取和显示项目的代码。

Lines Of Code PHP

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

Invoice Example

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

2 个答案:

答案 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对象中添加一些空白项目。