如何使所有 PHP 回显值进入 HTML Table

How to make all PHP echo values go into a HTML Table

我该如何解决这个问题,您在下图中看到,我的代码成功创建了 table 并正确回显了第一个项目,但是如果将任何其他项目添加到购物车,它会显示table 下方,边界外,不在一排。

期望的结果: 对于 'Sara Lee Muffin' 和数量,价格(示例)在 table 内它自己的行和删除按钮。 (基本上与烤三明治完全相同,但在它下面)

我的代码在图片下方。

<body>
        <br>
      <h3>Current shopping cart:</h3>

        <table style="border: 1px solid black;">

        <?php
          //If the cart is not empty, then create a table for the Items
          if(!empty($_SESSION['shopping_cart'])) {
        ?>

        <tr><th>Item name</th><th>Quantity</th><th>Price</th><th></th></tr>

          <?php
              
        if(!empty($_SESSION['shopping_cart'])) {
                foreach($_SESSION['shopping_cart'] as $keys => $values) {
      ?>  
            
     <tr>
       <td style="text-align:center"><?php echo $values['item_name'];?></td>
       <td style="text-align:center"><?php echo $values['item_quantity'];?></td>
       <td style="text-align:center">$<?php echo $values['item_price']*$values['item_quantity'];?> 
       </td>

        <td><form action="" method="get">
          <input type="submit" class="btn btn-danger" name="remove" value="Remove">
          <input type="hidden" name="hidden_id" value="<?php echo $values['item_id']; ?>">
        </form></td>
        </tr>
    </table>
        <br>
      <?php
          }
        }
      ?>
        <form action="" method="get">
           <input type="submit" class="btn btn-primary" name="payment" value="Confirm">
        </form>
            
        <?php
          }
        else {
          echo "No Items added yet.";
        ?><br>
        <?php
          }
         ?>

</body>

您的 foreach 循环中有一个结束 </table>,因此数组中的每个项目都会打印出一个 </table> 标记。

您应该在循环后添加另一个购物车检查,如果存在,则打印结束 </table> 标记。