在while循环中使用A按钮删除特定的数据库行

时间:2013-10-13 13:53:01

标签: php button mysqli

我已经为此工作了几天 此代码段从数据库中找到正确的行。它工作正常。但是,当单击按钮时,我只想要它是目标旁边的注释,而不是该页面上的所有注释。这很难解释..让我告诉你图像。 我目前正在做的是选择数据库行并输出它们进行调试,而不是删除它们(我不想用破坏的代码删除我的数据库部分) Image

$db与数据库的mysqli连接 while循环的片段: 的 TL / TR 我想在最后做这件事:

  • 从数据库中删除评论。
  • 将反馈提供给管理员。

这听起来像是一个菜鸟问题,但请帮帮我 非常感谢!
只是无法绕过这个,单手制作6页,现在我被困在这个“easy”的东西中,因为我还是不能得到它右。

修改 最新片段(还在做,怎么回事!?!)

$query = $db->query("SELECT * FROM comments WHERE post_id='$id'");
    while($row = $query->fetch_object()){
 echo "<h5>".$row->name."</h5>","<br>";
$strip_comment = strip_tags($row->comment);
$delComment = $row->comment_id;
        $strip_comment_shlashes = stripslashes($strip_comment);
    echo "<blockquote>".$strip_comment_shlashes,"<br><br></blockquote>";
    //button stuff
    if($is_admin){
        $query1 = $db->prepare("SELECT comment_id FROM comments WHERE comment_id = '$delComment'");
        $query1->execute();
        $query1->bind_result($commId);
        while($row2 = $query1->fetch()):
    ?>
        <form action="<?php echo $_SERVER['PHP_SELF']."?id=$id"?>" method="post">
        <input type="submit" class="closeButton" name="deleteComment" value="<?php echo $commId; ?>" />
    </form> 
    <?php 
        if(isset($_POST['deleteComment'])&& $is_admin){

        if($is_admin && $commId){
        echo "Comment ID <b>$commId</b> Removed";

        }

    }
endwhile;
}

编辑:非对象错误..

        $delComment_2 = $_POST['deleteComment'];
        $query2 = $db->prepare("SELECT * FROM comments WHERE comment_id='$delComment_2'");
        $query2->execute();

编辑2:(31/10)

请,有人可以修复此片段并发布吗?我通常不会要求工作片段,但这个让我发疯。我只是太老了,不明白这是怎么回事。感谢。

1 个答案:

答案 0 :(得分:1)

将输入更改为:

<input type="submit" class="closeButton" name="deleteComment" value="$comment_id_here" />

然后只需使用注释ID从数据库中删除特定的一个。 (查看$_POST['deleteComment']

当然,还有很多其他方法可以做到这一点 - 但重点是:您需要将评论ID(不是帖子ID )从您的页面传递给查询字符串。无论你用什么方式来实现这一点取决于你,我只是给你一个例子。