使用foreach从数据库中删除行。 (PHP)

时间:2018-05-28 14:50:34

标签: php mysql database

好吧,所以免责声明。我很抱歉,如果已经有解决方案(可能是因为这是一个简单的问题)。

我正在创建自己的wordpress插件,它将信息保存在数据库中。 我有一个按钮,可以使用TRUNCATE

删除所有内容

我现在正试图让它删除一行。

我到目前为止的代码是:

$result = $wpdb->get_results("SELECT * FROM " . $tablename, ARRAY_A);

//Counts the amount of rows
$count = "SELECT COUNT('id') FROM " . $tablename;
$numberOfRows = $wpdb->get_var($count);
//Echo's the amount of rows
//echo $numberOfRows;

//Checks if the amount of rows is more then 0
if ($numberOfRows > 0) {

    //Loops through the array $result as index 0 > $numberOfRows and then grabs the value out of those
    foreach($result as $person=>$value) {
        echo "<table>";
        echo "<tbody>";
        echo "<tr>";
        echo "<td>" . "<strong>id:</strong> " . $value["id"] . "</td>" . "<td>" . " <strong>- Name:</strong> " . $value["naam"] . " " . $value["achternaam"] . "</td>" . "<td>" . " <strong>email:</strong> " . $value["email"] . "</td>" . "<td>" . " <strong>telefoon:</strong> " . $value["telefoon"] . "</td>" . "<td>" . " <strong>message:</strong> " . $value["Message"] . "</td>" . "<td>" . " <strong>subject:</strong> " . $value["subject"] . "</td>" . "<br>";
        echo "</tr>";
        echo "</tbody>";
        echo "</table>";
        ?>
        <form method="POST" action="<?php echo $actual_link?>">
        <button name="DeleteButton">Delete</button>
        </form>

        <?php
        $resultId = $value["id"];
        if(isset($_POST["DeleteButton"])){
            $wpdb->delete($tablename, array( 'id' => $resultId) );
        }
    }
} else {
   echo "0 results";
}

我还试过$wpdb->query("DELETE FROM wp_informatie WHERE ID=" . $value["id"]

但它会不断删除每一行。 我的逻辑是,如果它在id处显示1,当我按下删除按钮时它也将是1,我在想的是因为当按下按钮时它是一个数组,它会删除所有内容。

如果有人能够回答这个问题或者通过解释和回答将某些事情与我联系起来,那就太棒了。

0 个答案:

没有答案