0

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

$dbis mysqliconnection to the database
Snippet of the while loop: TL/TR 最后我想这样做:

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

这听起来像是一个菜鸟问题,但请帮助我。
非常感谢!
只是无法解决这个问题,单手制作了 6 页,现在我被困在一个“容易”的事情上,但我仍然无法做到这一点。

编辑 最新片段(仍在做,这到底是什么!?!)

$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)

拜托,有人可以修复这个片段并发布吗?我通常不要求工作片段,但这让我发疯。我只是太菜鸟,无法理解这是怎么回事。谢谢。

4

1 回答 1

1

将输入更改为:

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

然后只需使用评论 id 从数据库中删除特定的评论。(检查$_POST['deleteComment']

当然,还有许多其他方法可以做到这一点 - 但要点是相同的:您需要将评论 ID(而不是帖子 ID)从您的页面传递到查询字符串。无论您使用哪种方式来完成此操作,都取决于您,我只是给您举了一个例子。

于 2013-10-14T13:03:32.060 回答