2011-06-02 74 views
0

我在另一个下面有1个查询。我有第二个删除查询的问题。我无法删除正确的行。它总是删除最后一行。我无法删除右边的行

第一个删除查询是可以的。它删除了我点击的那个。

这里是输出的屏幕快照。 enter image description here

当我删除它工作汉堡包但是当我按下为(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

您正在输出具有相同ID的多个元素,因此最后一个元素会粘住。 – Fosco 2011-06-02 15:29:41

回答

0

的问题是上这条线:

<input name="justcartdelete" type="hidden" value="<? echo $row1['cartjust_id']; ?> 

所有'酱'共享相同的输入名称。 在POST上,使用带有“justcartdelete”的最后输入名称。

+0

我能做些什么来解决这个问题? – emre 2011-06-02 16:15:27

+0

@ baris22保持在项目范围内的最简单方法是使用只有1个删除按钮作为酱料,并使用单选按钮或复选框,并通过选中的每个复选框项目。否则,您可以为每个删除按钮使用JavaScript函数,以'cartjust_id'调用该窗体。 – Fase 2011-06-02 16:24:27

+0

感谢您的帮助。我做了2个表格。它现在工作很完美。 – emre 2011-06-02 20:51:25