如何将删除按钮添加到将从 MySQL 表中删除行的 PHP 表单

新手上路,请多包涵

我已经将 MySQL 表的结果输出到 HTML 表中。在最后一列中,我想添加一个删除选项,它调用另一个表单并从 MySQL 表中删除用户。我似乎无法让它工作。

这是我的结果页面代码:

 <?php

    $contacts = mysql_query("
        SELECT * FROM contacts ORDER BY ID ASC") or die( mysql_error() );

    // If results
    if( mysql_num_rows( $contacts ) > 0 )
    ?>

    <table id="contact-list">
        <thead>
            <tr>
                <th>Name</th>
                <th>Email</th>
                <th>Telephone</th>
                <th>Address</th>
  <th>Delete</th>
            </tr>
        </thead>
        <tbody>

        <?php while( $contact = mysql_fetch_array( $contacts ) ) : ?>



            <tr>
                <td class="contact-name"><?php echo $contact['name']; ?></td>
                <td class="contact-email"><?php echo $contact['email']; ?></td>
                <td class="contact-telephone"><?php echo $contact['telephone']; ?></td>
                <td class="contact-address"><?php echo $contact['address']; ?></td>
                <td class="contact-delete"><form action='delete.php' method="post">
<input type="hidden" name="name" value="">
<input type="submit" name="submit" value="Delete">
</form></td>
            </tr>

        <?php endwhile; ?>

        </tbody>
    </table>

而且,这是我的 delete.php 脚本

<?php

//Define the query
$query = "DELETE FROM contacts WHERE name={$_POST['name']} LIMIT 1";

//sends the query to delete the entry
mysql_query ($query);

if (mysql_affected_rows() == 1) {
//if it updated
?>

            <strong>Contact Has Been Deleted</strong><br /><br />

<?php
 } else {
//if it failed
?>

            <strong>Deletion Failed</strong><br /><br />


<?php
}
?>

我不明白为什么这不起作用。

原文由 Lucero79 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 289
2 个回答

您必须在删除链接中传递一个变量。您必须在隐藏字段中传递 <?php echo $contact['name']; ?>name 值)或在 URL 中传递此值:

代替

<td class="contact-delete">
      <form action='delete.php' method="post">
      <input type="hidden" name="name" value="">
      <input type="submit" name="submit" value="Delete">
      </form>
</td>

<td class="contact-delete">
    <form action='delete.php?name="<?php echo $contact['name']; ?>"' method="post">
        <input type="hidden" name="name" value="<?php echo $contact['name']; ?>">
        <input type="submit" name="submit" value="Delete">
    </form>
</td>

原文由 Devang Rathod 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用javascript

 <input name="Submit2" type="button" class="button" onclick="javascript:location.href='delete.php?id=<?php echo $your_id;?>';" value="&laquo; Back" />

在 delet.php 中

$id=$_GET['id'];

并将 $id 放入您的 sql 语句中。

原文由 Ammar Hayder Khan 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题