0

我有一个如下的for循环:

<table>
        <tr>
            <th>Sl No</th>
            <th>Beneficiary Name</th>
            <th>Phone Number </th>
            <th>Beneficiary Type</th>
            <th>Total amount</th>
            <th>Discount</th>
            <th>Payble amount</th>
            <th>Paid Amount</th>
            <th>Balance</th>
            <th>Pay Amount / </th>
        <tr>    
    <?php

    echo count( $rslt );

    for($i = 0; $i<count($rslt); $i++ )
    {
    ?>
        <tr>
            <td><?php echo $i+1; ?></td>
            <td><?php echo ucfirst($rslt[$i][1]); ?> </td>
            <td><?php echo $rslt[$i][2]; ?> </td>
            <td><?php echo ucfirst($rslt[$i][0]); ?> </td>
            <td><?php echo number_format($rslt[$i][3] + $rslt[$i][4], 2, '.', ''); ?> </td>
            <td><?php echo $rslt[$i][4]; ?> </td>
            <td><?php echo $rslt[$i][3]; ?> </td>
            <td><?php echo $rslt[$i][5]; ?> </td>
            <td><?php echo number_format($rslt[$i][3] - $rslt[$i][5], 2, '.', ''); ?> </td>
        <?php
            if(($_POST['status'] == 'unpaid') || ($_POST['status'] == 'balance')){
        ?>
            <td id="<?php echo $i; ?>">
                <a href="javascript:payBill('<?php echo $i; ?>')">Pay</a>
            </td>    
            <td id="amnt_<?php echo $i; ?>" style="display:none;">
            Pay Amount : <input type="text" name="amount_<?php echo $i; ?>" id="amount_<?php echo $i; ?>" />
            </td>    
            <td id="save_<?php echo $i; ?>" style="display:none;">
                <a href="javascript:saveAmount('<?php echo $i; ?>','<?php echo $dt_str; ?>','<?php echo $rslt[$i][6]; ?>')">Save</a>
            </td>     

        <?php
            }
        ?>
        </tr>    
    <?php        
    }
    ?>
</table>

计数器echo count( $rslt );输出为 2。但<tr></tr>在表的开头又增加了一个!怎么了?

带有 Firebug 输出的屏幕截图

4

1 回答 1

5

您没有正确关闭您的第一个 tr (在循环之前)。这将在 Firefox 中呈现为额外的空行。

于 2013-05-28T10:09:46.147 回答