Php Html表仅插入mysql数据库中的最后一行,而不是所有行

Php Html表仅插入mysql数据库中的最后一行,而不是所有行,php,html,Php,Html,我正在实施服装购物网站。当我下单时,我遇到了一个问题:只有购物车HTML表中的最后一行项目被插入数据库,而不是所有行。我希望当我点击PlaceOrder按钮时,所有的行值都应该插入到数据库中。因此,客户应将购物车中的所有选定项目放置以供订购。 这是密码 <table align="center" > <thead> <tr > <th>Product</th>

我正在实施服装购物网站。当我下单时,我遇到了一个问题:只有购物车HTML表中的最后一行项目被插入数据库,而不是所有行。我希望当我点击PlaceOrder按钮时,所有的行值都应该插入到数据库中。因此,客户应将购物车中的所有选定项目放置以供订购。 这是密码

    <table align="center"  >
        <thead>
          <tr >
            <th>Product</th>
            <th>Price</th>
            <th>QTY</th>
            <th>SubTotal</th>

          </tr>
        </thead>

        <?php 
                if (!empty($_SESSION["shopping_cart"])) 
                {
                    $total=0;
                    foreach ($_SESSION["shopping_cart"] as $keys => $values) {

        ?>

        <tr>
          <td>
          <p>Product Code:<?php echo $values["item_id"]; ?> <br/>
          <?php echo $values["item_gender"]; ?><br/>
    <?php echo $values["item_description"]; ?> </p></td>

          <td>PKR
<input type="number" name="price1" id="price1" value="<?php echo $values["item_price"];?>" readonly ></td>

          <td><input type="number"  name="qty[<?php echo $values["item_id"]; ?>]" id="qty" value="<?php echo $values["item_quantity"];?>"></td>

          <input type="hidden" name="qty" value="<?php echo $values["item_quantity"];?>"  >

          <td >PKR<input type="number" name="total" id="total" value="<?php echo ($values["item_quantity"] * $values["item_price"]) ?>"readonly></td>


        </tr>

        <?php
                       $total=$total+($values['item_quantity']*$values["item_price"]);  
                     /*  $total=$total+$values["item_price"]; */
       }
            } ?>
      </table> <br/><br/>

<button type="submit" name="submit" class="btn btn-primary btn-lg">Place Order</button>

here is php code,
if (isset($_POST['submit']))
            {



                        $product_code = $_POST['ID'];

                        $price = $_POST['grandtotal'];

                        $quantity = $_POST['qty'];

                        $description = $_POST['description'];


                          $email=$_SESSION["email"];



                                $con=mysql_connect("localhost", "root", "");
                        mysql_select_db("login",$con);



              $qry="INSERT INTO order ( order_description , product_code,  order_quantity, order_price, customer_name, email, customer_id) VALUES ('$description', '$product_code',  '$quantity', '$price', (SELECT name from users where email='$email'), '$email', (SELECT user_id from users where email='$email') ) ";

                    $result=mysql_query($qry,$con);
                    if($result)

                    {
      echo '<script>alert("Your order has been placed")</script>';
                    echo '<script>window.location="portfolionew.php"</script>';
  } else {
    die("Error While Adding Stock ! Please Try Again .");
  }
       } 

产品
价格
数量
小计
产品代码:

PKR

产品
价格
数量
小计
产品代码:

PKR

请删除javascript标记,只是让人感到困惑——代码中没有js,您面临的问题也与js有关。Thanks@N.伊万诺夫:谢谢,我删除了它——只插入最后一行是你最小的问题;您正在使用一个过时的数据库连接器,其代码极易受到SQL注入攻击。。。在嵌套查询中,
内部联接
会更好吗?我建议找一个最新的教程,然后重新开始。不要使用不推荐的和不安全的mysql*函数。自PHP5.5(2013年)起,它们就被弃用,并在PHP7(2015年)中被完全删除。改用MySQLi或PDO。2.您完全可以使用,并且应该真正使用,而不是串联查询,如果您使用上述MySQLi或PDO,可以使用这些查询。表单也没有意义-您在循环中回显输入,但仍有

    <table align="center">
    <thead>
      <tr >
        <th>Product</th>
        <th>Price</th>
        <th>QTY</th>
        <th>SubTotal</th>

      </tr>
    </thead>

    <?php 
            if (!empty($_SESSION["shopping_cart"])) 
            {
                $total=0;
                $i = 1;
                foreach ($_SESSION["shopping_cart"] as $keys => $values) {

    ?>

    <tr>
      <td style=" text-align: left;" >
      <p style="margin-top: -120px; margin-left: 150px;">Product Code:<?php echo $values["item_id"]; ?> <br/>
      <?php echo $values["item_gender"]; ?><br/>
<?php echo $values["item_description"]; ?> </p></td>

      <td style="text-align: left; width: 80px;">PKR<br/>
<input style="width: 70px;" type="number" name="price<?= $i; ?>" id="price<?= $i; ?>" value="<?php echo $values["item_price"];?>" readonly ></td>

      <td><input type="number"  name="qty_<?= $i; ?>" id="qty_<?= $i; ?>" value="<?php echo $values["item_quantity"];?>"></td>

      <td style="text-align: left; width: 80px;">&nbsp;&nbsp;<b>PKR</b>
  <br/>&nbsp;<input style="width: 70px; "  type="number" name="total" id="total" value="<?php echo ($values["item_quantity"] * $values["item_price"]) ?>"readonly></td>


    </tr>

    <?php
                   $total=$total+($values['item_quantity']*$values["item_price"]);  
                   $i++;
                 /*  $total=$total+$values["item_price"]; */
   }
        } ?>
    <input hidden="iTotalProducts" value="<?php echo $i; ?>" name="product_count">
  </table> <br/><br/>

 <button type="submit" name="submit" class="btn btn-primary btn-lg">Place Order</button>

     //here is php code,
         if (isset($_POST['submit']))
        {




                    $product_code = $_POST['ID'];

                    $price = $_POST['grandtotal'];

                    $quantity = $_POST['qty'];

                    $description = $_POST['description'];


                      $email=$_SESSION["email"];



                            $con=mysql_connect("localhost", "root", "");
                    mysql_select_db("login",$con);

                    $cnt = $_POST["iTotalProducts"];

                    for($i = 1; $i <= $cnt; $i++) {
                       // here you can write your insert code
                    }



                if($result)

                {
  echo '<script>alert("Your order has been placed")</script>';
                echo '<script>window.location="portfolionew.php"</script>';
} else {
   die("Error While Adding Stock ! Please Try Again .");
  }
   } `enter code here`