html php循环错误


html php looping error

我有以下脚本,它是一个订单列表:

<?php
$manifest_query = tep_db_query("SELECT o.franchise_id, o.orders_id, 
    o.customers_id, o.delivery_name, o.delivery_street_address [...]");
while ($manifest = tep_db_fetch_array($manifest_query)){
?>
<tr>
<td height="50" align="center"><?php echo $manifest['orders_id'] ;?></td>
<td cellpadding="2"><?php echo $manifest['delivery_name'] .'<br> '. 
    $manifest['delivery_street_address'] .'<br> '. 
    $manifest['delivery_city'].'<br> '. 
    $manifest['delivery_postcode'].'<br> '. 
    $manifest['delivery_state'].'<br> '. $manifest['customers_telephone'] ;?>
</td>
<?php
$products_query = tep_db_query("select products_model, products_name, products_quantity from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$manifest['orders_id'] . "'");
while ($products = tep_db_fetch_array($products_query)) {
?>
<td><?php echo$products['products_quantity'] . '&nbsp;x&nbsp;' . $products['products_name'] . 
    '<br> ' . '&nbsp;&nbsp;'.$products['products_model'] .'<br>';?></td>
<?php
}
?>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td colspan="2"></td>
</tr>
<?php
}
?>

打印$products变量的单元格每次都会重复,作为一个新的td,但如果有多个产品,我需要它来打印一个td中的所有产品。我有点困惑?

应该像将包含的<td></td>移动到while()循环之外一样简单:

<?php
$manifest_query = tep_db_query("SELECT o.franchise_id, o.orders_id, 
    o.customers_id, o.delivery_name, o.delivery_street_address [...]");
while ($manifest = tep_db_fetch_array($manifest_query)){
?>
<tr>
<td height="50" align="center"><?php echo $manifest['orders_id'] ;?></td>
<td cellpadding="2"><?php echo $manifest['delivery_name'] .'<br> '. 
    $manifest['delivery_street_address'] .'<br> '. 
    $manifest['delivery_city'].'<br> '. 
    $manifest['delivery_postcode'].'<br> '. 
    $manifest['delivery_state'].'<br> '. $manifest['customers_telephone'] ;?>
</td>
<td><!-- open here -->
<?php
$products_query = tep_db_query("select products_model, products_name, products_quantity from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$manifest['orders_id'] . "'");
while ($products = tep_db_fetch_array($products_query)) {
?>
<?php echo$products['products_quantity'] . '&nbsp;x&nbsp;' . $products['products_name'] . 
    '<br> ' . '&nbsp;&nbsp;'.$products['products_model'] .'<br>';?>
<?php
}
?>
</td><!-- and close here -->
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td colspan="2"></td>
</tr>
<?php
}
?>
<td><?php
$products_query = tep_db_query("select products_model, products_name, products_quantity from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$manifest['orders_id'] . "'");
while ($products = tep_db_fetch_array($products_query)) {
?>
<?php echo$products['products_quantity'] . '&nbsp;x&nbsp;' . $products['products_name'] . 
    '<br> ' . '&nbsp;&nbsp;'.$products['products_model'] .'<br>';?>
<?php
} ?></td>

只需在循环时放在外面。像上面一样,例如