0

我在使用 MSQLI 从屏幕上删除记录时遇到问题。在这里你可以看到我正在使用的代码。

<?php
        include_once("assets/classes/connection.php");
        include_once("assets/classes/article.class.php");
        while($test = $allArticles->fetch_assoc())
            {
                if($test['titel']=="")
                {
                    echo "<div class='zonderfoto'>";
                    echo "<h5>"."geen titel hier, aparte opmaak geslaagd" . "<br /></h1>";
                    echo "<p>" . $test['article'] . "</p>";

                    echo "<input type='submit' name='verwijderee' value='verwijder'>";

                    echo "</div>";
                }
                else
                {
                    echo "<div class='metfoto'>";
                    echo "<h1>".$test['titel'] . "<br /></h1>";
                    echo "<p>" . $test['article'] . "</p>";
                    echo "<form method='post' action=''>";
                    echo "<input type='submit' name='verwijder' value='verwijder'>";
                    echo "</form>";
                    echo "<h1>".$test['id']."</h1>";
                    echo "</div>";


                }
            }
        $vArticle = new Article;
        $vArticle -> Key = $test['id'];
        if (isset($_POST['verwijder']))
        {
            $vArticle -> deleteArticle();
            echo ("shit");
        }
        ?>

我正在使用 while 函数在屏幕上打印所有数据库记录。if 函数只是一个用 css 进行设计的函数,仅此而已。使用删除按钮,我想从屏幕上删除记录。使用 $test['id'] 变量,您会收到数据库中记录的 ID

好的,这是我在课堂上的代码。

public function deleteArticle()
{
    include("connection.php");
    $sSql = "DELETE FROM tblArticles WHERE id = '".$this->m_sKey."'";

        if (!$mysqli -> query($sSql))
        {
            throw new Exception("Something went wrong");
        }
}

编辑

键有问题,我用title =“”替换了where语句,所以我删除了数据库中的一个标题,然后当我点击删除时,他删除了一行,但这在运行时不会发生。所以我单击删除,删除了一行,但内容仅在页面刷新时消失。解决方案是使用ajax?

4

1 回答 1

0
public function deleteArticle()
{
    include("connection.php");
    $sSql = "DELETE FROM tblArticles WHERE id = '".$this->m_sKey."'";
    $mysqli->query($sSql);
    $aff_rows = $mysqli->affected_rows;
    if ($aff_rows){
        print("Affected rows (DELETE): %d\n", $aff_rows);
    }
    else{
        print("Nothong Happend ?");
        if ($err = $mysqli->error){
              print("Error: %s\n", $err);
        }
    }
}
于 2012-05-17T23:25:43.567 回答