doujia4041 2010-10-18 17:54
浏览 9
已采纳

如何循环内部循环?

I have 2 table.

Table1 "Order"
orderid - customer_id
1001    - 1234

Table2 "Items"
no - orderid - items_code
1  - 1001 - 100
2  - 1001 - 200
3  - 1001 - 300

how to get results as below (in php):

Order #    Items             Customer ID
_________________________________________
1001       100, 200, 300     1234
_________________________________________
1002       400, 500, 600     1210
_________________________________________
1003       321, 654, 987     1256
_________________________________________

This is my previous coding:

    <?

include("cat-config.php");

$resultdata=mysql_query("
(SELECT * FROM Order LIMIT 10)
");
echo "<table width=\"100%\" border=\"0\">
  <tr>
    <td>Order #</td>
    <td>Items</td>
    <td>Customer ID</td>
  </tr>";
while($row=mysql_fetch_assoc($resultdata)){
  echo "
  <tr>
    <td>$row[OrderID]</td>
<td>
**(I want loops items data on table "items": 100, 200,300 here)
</td>
    <td>$row[CustomerID</td>
  </tr>
";
}
mysql_close();
?>
  • 写回答

2条回答 默认 最新

  • dongxiangqian1855 2010-10-18 18:00
    关注
    $orders = array( 1001, 1002, 1003 );
    
    for ( $i = 0; $i < count( $orders ); $i++ )
    {
        $items = getItemsForOrderId( $orders[$i] ); // SQL query or something
    
        for ( $j = 0; $j < count( $items ); $j++ )
        {
            echo 'Order #' . $orders[$i] . ', Item ' . $items[$j];
        }
     }
    

    Format to wanted output, and adjust to get the data correctly.

    Update based on the changed question:

    This could be one way to do it:

    <?php
    include 'cat-config.php';
    
    $resultdata = mysql_query( 'SELECT * FROM Order LIMIT 10' );
    
    echo "<table width=\"100%\" border=\"0\">
      <tr>
        <td>Order #</td>
        <td>Items</td>
        <td>Customer ID</td>
      </tr>";
    
    while ( $orderRow = mysql_fetch_assoc( $resultData ) )
    {
        echo "  <tr>
        <td>" . $orderRow['orderid'] . "</td>
    ";
        echo "    <td>";
    
        $itemData = mysql_query( 'SELECT * FROM Items WHERE orderid = ' . $orderRow['orderid'] );
    
        while ( $itemRow = mysql_fetch_assoc( $itemData ) )
        {
            echo $itemRow['items_code'] . ', ';
        }
    
        echo "</td>
        <td>" . $orderRow['customer_id'] . "</td>
      </tr>
    ";
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥30 自适应 LMS 算法实现 FIR 最佳维纳滤波器matlab方案
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动