【问题标题】:Foreach using to draw a html tableforeach 用于绘制 html 表格
【发布时间】:2013-10-01 00:59:49
【问题描述】:

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

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

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

【问题讨论】:

    标签: php html foreach html-table


    【解决方案1】:

    使用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.
    }
    

    【讨论】:

    • 感谢小伙伴纠正我的问题并给我答复。
    【解决方案2】:

    我认为你最好在 $items 对象中添加一些空白项。

    【讨论】:

    • 我也想过这个问题,但想要一个合适的代码来给我 MackieeE。
    猜你喜欢
    • 1970-01-01
    • 2018-12-16
    • 2012-02-12
    • 2014-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-05
    • 1970-01-01
    相关资源
    最近更新 更多