php - 使用按钮删除 mysqli 数据库中的某些内容?

标签 php html mysql sql mysqli

所以我只是制作一个简单的程序,将名称放入数据库中。我把那部分记了下来,我可以在表单中输入一个名称,然后将其显示在页面上,但现在我想知道如何从数据库中删除它们,并不再在页面上显示它们。

我在每个名称旁边添加了一个按钮,触发第三个 if 语句(带有注释掉的查询),据我所知,最好基于元素的 id(我的主键自动递增)运行查询,但我不知道如何从我正在点击的按钮的元素中获取 id。

如何从 while 循环中的元素之一获取 id?或者如果有更好的方法来删除它们,那是什么?

if (mysqli_connect_errno()) {
die('could not connect');
}

if (isset($_POST['first_name'], $_POST['last_name'])){
$first_name = trim($_POST['first_name']);
$last_name = trim($_POST['last_name']);
$putitin = mysqli_query($db, "INSERT INTO names (first_name, last_name) VALUES ('$first_name', '$last_name')");
}

if (isset($_POST['del'])){
//$takeitout = mysqli_query($db, "DELETE FROM names WHERE id = ");
}

?>



<html>
<head>
</head>
<body>

<form action='' method='post'>
<div>
<label for "first_name">First name</label>
<input type="text" name="first_name">
</div>
<div>
<label for "last_name">Last name</label>
<input type="text" name="last_name">
</div>
<div>
<input type="submit" value="Insert">
</div>
</form>
<hr>

<?php
$resultset = $db->query('SELECT * FROM names');
if($resultset->num_rows != 0){
while($rows = $resultset->fetch_assoc()) {
    $fname = $rows['first_name'];
    $lname = $rows['last_name'];
    $id = $rows['id'];

    echo "<form action='' method='post'><p>Name: $fname $lname $id<input type='submit' name='del'></form></p>";

}
} else {
echo 'No results';
}

?>

</body>
</html>

最佳答案

这是一种方法。

将您的 html 部分更改为

<form action='' method='post'>
<input type='hidden' name='id' value='$id' />
<p>Name: $fname $lname $id
<input type='submit' name='del' value=''>
</form></p>

和你的 php

if (isset($_POST['del'])){
$id = $_POST['id'];
$takeitout = mysqli_query($db, "DELETE FROM names WHERE id = '$id'");
}

关于php - 使用按钮删除 mysqli 数据库中的某些内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31827081/

相关文章:

php - 如何修复 JSON_ERROR_UTF8

php - � 从 Google 货币 API 返回的字符

javascript - 稍后附加到 DOM 的图像的加载事件

html - 如何使用html css强制列表垂直

php - 我正在尝试以表格格式显示来自 sql 数据库的信息,我做错了什么?

php - 使用一到五个可变变量时未初始化的字符串偏移通知

php - Nominatim 应用程序错误 PHP

php - 在哪里存储子域 Assets ?

javascript - 如何将语言翻译添加到 amcharts?

javascript - var x ="<?php echo strtotime($uEvents[' start']);?>"; 给出了不同的结果