我在另一个下面有一个查询。我有第二个删除查询的问题。我无法删除右侧行。它总是删除最后一行。
第一个删除查询没问题。它会删除我点击的那个。
这是输出的屏幕截图。
当我删除汉堡时它可以工作,但是当我按下删除按钮(32)酱时它会删除(34)酱
这是代码:
////////// if we submit then delete item////
if (isset($_POST['DeleteItem']))
{
echo "<h1> ID: ";
echo $_POST['cartitem_id'];
echo " deleted</h1>";
mysql_query("DELETE FROM cartitem
WHERE cartitem_id='".$_POST['cartitem_id']."'") or die(mysql_error());
}
////////// if we submit then delete justcart item in item
if (isset($_POST['DeleteCartJust']))
{
echo "<h1> ID: ";
echo $_POST['justcartdelete'];
echo " deleted</h1>";
mysql_query("DELETE FROM cartjust
WHERE cartjust_id='".$_POST['justcartdelete']."'") or die(mysql_error());
}
?>
<table width="100%" border="0" cellpadding="5" cellspacing="5">
<tr>
<td width="300"><u>Item</u></td>
<td align="center"><u>delete</u></td>
</tr>
<?
$result = mysql_query("SELECT * FROM cartitem WHERE ordertable_id = '$ordertable_id' ORDER BY cartitem_id ASC") or die(mysql_error());
while($row = mysql_fetch_array($result)){
?>
<form action="" method="post">
<tr>
<td>
<input name="cartitem_id" type="hidden" id="cartitem_id" value="<? echo $row['cartitem_id']; ?>" >
<? echo $row['cartitem_name']; ?>
<table>
<?
$result1 = mysql_query("SELECT * FROM cartjust WHERE cartitem_id = '".$row['cartitem_id']."' ORDER BY cartjust_id ASC") or die(mysql_error());
while($row1 = mysql_fetch_array($result1)){
?>
<tr>
<td>(<? echo $row1['cartjust_id']; ?>) <input name="justcartdelete" type="hidden" value="<? echo $row1['cartjust_id']; ?>" ></td>
<td><? echo $row1['cartjust_name']; ?></td>
<td><input type="submit" name="DeleteCartJust" value="Delete"></td>
<?
}
?>
</tr>
</table>
</td>
<td align="center" valign="top"><input type="submit" name="DeleteItem" value="Delete"></td>
</tr>
</form>
<?
}
?>
</table>
答案 0 :(得分:0)
问题在于这一行:
<input name="justcartdelete" type="hidden" value="<? echo $row1['cartjust_id']; ?>
所有的酱汁&#39;共享相同的输入名称。 在POST上,最后一个输入名称为&#34; justcartdelete&#34;使用。