php - 为每个结果值显示多行

标签 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>

但项目并排显示,而不是在下面。

最佳答案

您的 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>

关于php - 为每个结果值显示多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54407929/

相关文章:

php - 使用 php、ffmpeg 和 proc_open 逐帧读取视频

php - 鼠标悬停时更改表格行的颜色

php - 表单文本区域不超过一行,只是不断滚动

php - 本地PHP测试环境无法建立MySQL数据库连接

php - 导入的数据库转储从 latin1 数据库到 utf8 数据库

php - CakePHP Auth 检索额外数据

php - jquery 点击隐藏和显示另一个按钮

mysql - 从 MySQL 表中提取增量更新

mysql - 在 MariaDB 中禁用 LOCAL INFILE

Php mysqli 适用于 sql 但不适用于存储过程