总是使用php代码删除html表的第一行

总是使用php代码删除html表的第一行,php,mysql,Php,Mysql,order.php require_一次(conn.php); 会话_start(); $itemId=$\会话['itemId']; $tnumber=$\会话['tnumber']; $custno=$\会话['custno']; $sql=“从购物车中选择itemId、subtitle、price、quantity,其中tnumber='$tnumber'; $res=mysqli\u查询($dbhandle,$sql); $total=0; ?> 家 cartdelete.php 视情

order.php

require_一次(conn.php);
会话_start();
$itemId=$\会话['itemId'];
$tnumber=$\会话['tnumber'];
$custno=$\会话['custno'];
$sql=“从购物车中选择itemId、subtitle、price、quantity,其中tnumber='$tnumber';
$res=mysqli\u查询($dbhandle,$sql);
$total=0;
?>
家
cartdelete.php


视情况而定,如果您试图删除一行,则可以:

$sql="delete from cart where itemId='$itemId1'";
但是,要删除所有内容,只需执行以下操作:


$sql=“从购物车中删除*”

问题不在于购物车删除,而在于order.php。我在这里看到两件事

首先,您在while循环内打开每个表单,但直到循环外才关闭表单(并且您从未关闭s)。这导致:

<form id="addform" method="post" action="cartdelete.php">
....
<form id="addform" method="post" action="cartdelete.php">
....
<form id="addform" method="post" action="cartdelete.php">
....
</form>
将只找到购物车中的第一个项目。不管怎样,它永远找不到第二个或第三个项目。甚至可能不需要它。由于我不知道表结构,请尝试以下方法:

  $itemId=(filter_input(\INPUT_POST,'itemId'));
  if(!empty(\filter_input(INPUT_POST,'submit')))
     {
       $sql="delete from cart where itemId='$itemId'";
       $res=mysqli_query($dbhandle,$sql) or die(\mysqli_error($dbhandle));
     }
      echo"deleted successfully";
      $mysqli_close = \mysqli_close($dbhandle);

这样,只会从表中删除第一行,$sql=“DELETE*from cart”;删除所有记录,但我只需要删除按钮的相应产品method=“post”action=“cartdelete.php”>副标题数量价格金额Cornetto 1 80.0000 80 Magnum175.000075“method=“post”action=“cartdelete.php”“>这是以上代码的唯一输出。表内只显示一个值,我使用chrome浏览器。我可以知道你为什么关闭表吗twice@user3516005,关闭表两次是错误的,代码中有一些错误现在应该注意。分析错误:语法错误,意外的“itemId”(T_STRING),应为“,”或“;”,这是我在回显表单时遇到的错误
<form id="addform" method="post" action="cartdelete.php">
....
<form id="addform" method="post" action="cartdelete.php">
....
<form id="addform" method="post" action="cartdelete.php">
....
</form>
echo "<form id=\"addform" . echo $row['itemId'] . "\" method="post" action="cartdelete.php"> ';
$total = 0;
while ($row=mysqli_fetch_array($res)) 
{
    $amount=$row['price']*$row['quantity'];
    echo "<tr>";
    echo "<td>" .$row['subtitle'] ."</td>";
    echo "<td>" .$row['quantity'] ."</td>";
    echo "<td>" .$row['price'] ."</td>";
    echo "<td>" . $amount . "</td>";
    echo "<form id='addform{$row['itemId']}' method='post' action='cartdelete.php'> ";
    echo "<td><input type='submit' value='x' name='submit'></td>";

    echo "<td><input type='text' name='itemId'  value= '{$row['itemId']}'></td>";     
    echo"</form>";
    echo "</tr>";
    $total += $amount;
}
echo "</table>";
$sql1="select itemId from cart";
  $itemId=(filter_input(\INPUT_POST,'itemId'));
  if(!empty(\filter_input(INPUT_POST,'submit')))
     {
       $sql="delete from cart where itemId='$itemId'";
       $res=mysqli_query($dbhandle,$sql) or die(\mysqli_error($dbhandle));
     }
      echo"deleted successfully";
      $mysqli_close = \mysqli_close($dbhandle);