单击删除按钮删除相应的行[id]

时间:2013-06-14 09:59:42

标签: php

<td>
    <form action="del.php" method="POST">
        <?php foreach($jk as $item) {
            echo"<input type='hidden' name='id' value='".$item['emc_id']."'>";       
        }
        ?>         
        <input type="submit" name="downld" value="DELETE" >
    </form>
</td>

正如您所看到的,我使用隐藏但在del.php中传递值。我收到了 4 。我的数据库中有4个数据但是当我点击rowid-1 rowid-2和任何其他ID时,我总是得到一个id-4。我希望每当我点击DELETE按钮时,都应删除相应的ID。

3 个答案:

答案 0 :(得分:2)

<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel">
<html>
<head>
WELCOME <?=$_SESSION['user']?></br>
<a href="logout.php" >log-out</a></br>
<title> emc promo 1</title>
<meta http-equiv="Content-type" content="text/html;charset=utf-8" />
</head>
<body>
         <b>the total no rows are :</b><?=$g?>
        <table cellpadding="5" border="1" style="width:450px;"><tr>
<?php   for ($i=0; $i < count($colnames); $i++) { ?>
        <td><?=$colnames[$i]?></td>
<?php   }?>
        <td>DELETE</td>
        <td>EDIT</td>
        </tr>
<?php   for ($i=0; $i < count($jk); $i++) { ?>
        <tr>
<?php   for ($ii=0; $ii < count($colnames); $ii++) {?>
        <td><?=$jk[$i][$colnames[$ii]]?></td>
<?php  }?>
        <td><form action="del.php" method="POST">
        <input type='hidden' name='id' value= <?php echo $jk[$i];?>> 
           <input type="submit" name="downld" value="DELETE" >
           </form></td>
           <td><form action="edit.php" method="POST">
           <input type="hidden" name="id1" value="<?=$jk['$i'];?>">
           <input type="submit" name="downld" value="UPDATE " >
           </form></td>
          </tr>
<?php } ?>
          </table>
          </body>
          </html>

我得到了答案,现在我传递了所有列值,以便我可以在删除和编辑时进行检查

答案 1 :(得分:1)

你想要实现什么目标?您想一次删除一行还是多行?你现在正在做的是动态创建隐藏的框,但是隐藏字段的名称是相同的,所以当浏览器渲染它时会创建四个文本框,如:: -

<input type="hidden" name="id" value="1" />
<input type="hidden" name="id" value="2" /> 
<input type="hidden" name="id" value="3" />
<input type="hidden" name="id" value="4" />

现在,当您发布表单时,您将获得最后一个值。因此,您将始终获得4.如果您尝试删除单个记录,请使用paw建议的方法。如果你想要删除多个记录,请使用每行前面的复选框,并确保使用类似于符号的数组来表示名称,如name =“foo []”

答案 2 :(得分:0)

您应该在您的行中附加一个ID:在foreach

echo "<a href="delete.php?id=". $row['id']>Delete</a>"

每当用户点击链接删除时,ID都会被传递到php脚本中,您将$_GET通过id并拥有delete query使用id我希望这有帮助。