1

我需要在屏幕上打印一个 HTML 表格,该表格在嵌套数据上循环多次到达其数据。我为循环遍历我的 Quotes 数组的表格填充了一个标题,并在表格左侧填充了第二个标题,循环遍历了我需要查看的项目。当我需要遍历我的表的信息时,问题就来了,在这种情况下,我的价格列表只打印符合这两个条件的那些。1) 成为我的 Quotes 数组中的一个元素,2) 成为与左侧确切项目相对应的价格。

<td>我得到的标签比我需要的标签多或少,并且数据最终超出了我的表格的限制。

如果您能给我任何解决此问题的想法,我将不胜感激。

我的 Quotes 数组的结构包括一个嵌套数组,其价格如下

(int) 0 => array(
    'Quote' => array(
        'id' => '1',
    ),
    'Price' => array(
        (int) 0 => array(
            'id' => '1',
            'price' => '20.00',
            'payment' => 'A',
        ),
                    (int) 1 => array(
            'id' => '2',
            'price' => '50.00',
            'payment' => 'B',
        )
    ),
    'Order' => array());

这是我的实际代码,打印的标签比需要的标签多

<table>
    <tr>
        <td colspan="2"><?php echo __('Order No.'); ?></td>
        <td colspan="12"><?php echo __('List of Quotes'); ?></td>
    </tr>
    <tr>
        <td colspan="2"><?php echo __('List of Item'); ?></td>
    <?php foreach ($quotes as $quote): ?>
            <td colspan="3"><?php echo __('Quote'); ?> <?php echo h($quote['Quote']['id']); ?></td>
       <?php endforeach; ?>
    </tr>
    <tr>
        <td><?php echo __('id'); ?></td>
        <td><?php echo __('description'); ?></td>
    <?php   foreach ($quotes as $quote): ?>
        <td><?php echo __('id'); ?></td>
        <td><?php echo __('price'); ?></td>
        <td><?php echo __('payment'); ?></td>
    <?php endforeach; ?>
    </tr>

    <?php  foreach ($items as $item):?>  
    <tr>
       <td><?php echo h($item['Item']['id']); ?></td>
            <td><?php echo h($item['Item']['descripcion']); ?></td>

        <?php  foreach ($quotes as $quote): ?>

                <?php foreach ($quote['Price'] as $price): ?>

                  <?php if($price['item_id']==$item['Item']['id'] ): ?>
                    <td><?php echo h($price['item_id']); ?></td>
                    <td><?php echo h($price['quote_id']); ?></td>
                    <td><?php echo h($price['id']); ?></td>
                <?php else: ?>  
                    <td></td>
                    <td></td>
                    <td></td>
                <?php endif; ?> 
                <?php endforeach; ?>

        <?php endforeach; ?>
    </tr>
    <?php endforeach; ?>

</table>
4

0 回答 0