为每个结果值显示多行

时间:2019-01-28 18:10:38

标签: php mysql

我有两个表,一个用于产品,另一个用于物品。 我想在一个表格中显示每个产品的所有商品详细信息,如下所示:

enter image description here

我试图制作一个嵌套的while循环,但是结果却不是我想要的。

        <table border="1">
            <thead>
                <th>Product No.</th>
                <th>Product Name</th>
                <th>T.Qty</th>
                <th>Item No.</th>
                <th>Item Name</th>
                <th>Qty </th>
            </thead>
            <tbody>
               <tr>
                    <td><?php echo $Product_no ?></td> 
                    <td><?php echo $Product_name?></td>
                    <td><?php echo $TQty ?></td>

              <?php
                      // my problem is here
                       $Items= $connect->prepare("Query Statment?");
                       $Items->execute();
                       $res = $Items->get_result();
                       while($GetItems = $res->fetch_assoc()){
               ?>
                         <td><?php echo GetItems['Item_no'];?></td> 
                         <td><?php echo GetItems['Item_name']; ?></td>
                         <td><?php echo GetItems['Qty']; ?></td>
                    <?php } ?>
                </tr> 
            </tbody>
        </table>

但彼此并排显示的项目不在下方。

1 个答案:

答案 0 :(得分:1)

您的html表代码有问题。您应该为每行关闭标签,如果不是该元素的第一行,请插入3个没有数据的单元格:

       <tbody>
           <tr>
                <td><?php echo $Product_no ?></td> 
                <td><?php echo $Product_name?></td>
                <td><?php echo $TQty ?></td>

          <?php
                  // my problem is here
                   $Items= $connect->prepare("Query Statment?");
                   $Items->execute();
                   $res = $Items->get_result();
                   $i=0;
                   while($GetItems = $res->fetch_assoc()){
                      if ($i!=0){
                          echo "<td></td><td></td><td></td>";
                      }
           ?>
                     <td><?php echo GetItems['Item_no'];?></td> 
                     <td><?php echo GetItems['Item_name']; ?></td>
                     <td><?php echo GetItems['Qty']; ?></td>
                <?php 
                     echo "</tr>";
                     $i++;
                } ?>

        </tbody>