PHP中的动态rowspan表

时间:2015-01-05 15:07:28

标签: php html-table

我在使用表格时遇到问题。 我想为订单列表(opencart)调整可打印的表单, 但我想要左边的地址栏和右边订购的产品。 问题是产品数量因订单而异,因此在地址栏上使用rowspan不起作用(我在代码中留下了rowspan)。

      <thead>
        <tr>
          <td><b><?php echo $text_to; ?></b></td>
           <td><b><?php echo $column_product; ?></b></td>
          <td class="text-center"><b><?php echo $column_quantity; ?></b></td>
        </tr>
      </thead>
      <tbody><tr>
          <td rowspan="10"><?php echo $order['shipping_address']; ?><br/><br/>
            <?php echo $order['telephone']; ?>
            <br />
            <?php if ($order['shipping_method']) { ?>
            <b><?php echo $text_shipping_method; ?></b> <?php echo $order['shipping_method']; ?><br />
            <?php } ?></td></tr>
        <?php foreach ($order['product'] as $product) { ?>
          <td><?php echo $product['name']; ?>
            <?php foreach ($product['option'] as $option) { ?>
            <br />
            &nbsp;<small> - <?php echo $option['name']; ?>: <?php echo $option['value']; ?></small>
            <?php } ?></td>
          <td class="text-center"><?php echo $product['quantity']; ?></td>
</tr>
        <?php } ?>
      </tbody>
    </table>

1 个答案:

答案 0 :(得分:1)

您可以获得所有可用的信息,因此您只需更改:

<td rowspan="10">

为:

<td rowspan="<?php echo count($order['product']); ?>">

但是,您确实需要检查生成的html,因为看起来您没有生成有效行,因此您可能需要稍微更改逻辑。