【问题标题】:Delete multiple values from mySQL database at once一次从 mySQL 数据库中删除多个值
【发布时间】:2016-12-08 15:43:17
【问题描述】:

我一直在做一些基本的 mySQL 数据库工作,并学会了显示内容、插入、删除和更新数据,所有这些都是通过 PHP 完成的。

现在我的任务是将所有内容放在一个页面中,在这里我可以选择多个人(我的数据库包含姓名)并一次删除他们,而不是单独输入每个姓名。

这是我用来显示数据库内容的文件:

include'databaseinfo.php';
include'databaseconnectioncheck.php';

$result = $conn->query("SELECT id, fornavn, efternavn, lokation FROM $table1_db");
echo "Der er ". $result->num_rows ." personer i databasen <br><br>";

while ( $row = $result->fetch_assoc() )
    echo "ID " . $row['id'] ." er " . $row['fornavn'] . " " . $row['efternavn'] . " som bor i " . $row['lokation'] . ".<br><hr>"; 

这是我用来从数据库中删除元素的文件:` 前言: 埃弗特纳夫: 定位:

if (!empty($_POST['fornavnFraFormDelete']) AND ($_POST['efternavnFraFormDelete']) AND ($_POST['lokationFraFormDelete'])) {

include 'databaseconnectioncheck';

$fornavnFraFormDelete = $_POST['fornavnFraFormDelete']; //Variablerne oprettes fra formfeltet
$efternavnFraFormDelete = $_POST['efternavnFraFormDelete'];
$lokationFraFormDelete = $_POST['lokationFraFormDelete'];

$conn->query("DELETE FROM $table1_db WHERE fornavn='$fornavnFraFormDelete' 
    AND efternavn='$efternavnFraFormDelete' AND lokation='$lokationFraFormDelete'");
    echo "Du har fjernet ".$fornavnFraFormDelete. " " .$efternavnFraFormDelete." fra databasen.<br><br>";            
}

if (isset($_POST['fjernalt'])) {

include 'databaseconnectioncheck';

$conn->query("DELETE FROM $table1_db");
    echo "<br> <br> Du har fjernet alle fra databasen.";
}

我希望你能理解它,即使其中一些是丹麦语,如果没有,请告诉我,我会翻译它。

无论如何,我已经制作了一张图片,它应该可以解释我想要它的样子,如果没有,请再次告诉我。

【问题讨论】:

  • 看DELETE from TABLE WHERE条件
  • 请关闭这个问题。你出钱,这是没有人愿意在这里看到的。我们免费提供。但我们只是在这里提供帮助,而不是为您编写代码。
  • 添加复选框,其中值为人员的 ID。在提交时查找复选框。使用这些复选框将数据放入DELETE FROM table WHERE id IN (...)。玩得开心。
  • 因为你是 PH​​P 的小菜鸟,我给这个提示:你可以做 DELETE FROM xyz WHERE id in(1,2,3,4,5)
  • 你也对SQL injection开放

标签: php html mysql database forms


【解决方案1】:

首先在您的复选框上以这种方式命名name="id[]"

我假设的 id 有这样的复选框

<input type="checkbox" name="id[]" value="1">
                                ^ give this parentheses after name to all checkboxes of id.

之后你需要为此使用foreach

foreach($_POST['id'] as $value) {
   $conn->query("DELETE FROM $table1_db WHERE id = $value);
    echo "Du har fjernet ".$fornavnFraFormDelete. " " .$efternavnFraFormDelete." fra databasen.<br><br>";            
   }   

【讨论】:

  • 您能详细说明一下吗? :)
猜你喜欢
  • 1970-01-01
  • 2019-02-07
  • 2016-11-08
  • 2017-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-14
  • 1970-01-01
相关资源
最近更新 更多