使用删除按钮删除用户帖子


Deleting user posts using a delete button

我有一个表,其中包含以下字段:wall_posts, group_id, iduser_id

wall_posts是用户表项,group_id是从另一个表中导入的,只是一个唯一的组id, id只是一个简单的计数器,user_id是从会话中获取用户id。

如果您通过比较用户id与会话中的用户按下删除按钮,我的代码将消除所有wall_posts。现在我不想重定向到另一个php页面来删除。所以使用URL是不可行的。现在这个人只是删除最新的帖子。例如,如果我单击id=10的帖子上的删除按钮,而最后一个帖子的id=12。它只是删除了id=12的帖子,然后再次按下删除按钮,结果删除了id=11的帖子,以此类推。我想我正在尝试做的一个很好的例子是如何删除你的facebook页面上的新闻提要或评论。

代码如下:

    if (isset($_POST['delete'])) {
    $current_user = $_SESSION['user_id'];
    $result = mysql_query("SELECT * FROM group_posts");
    while ($delete = mysql_fetch_array($result)) {
        $group_user_id = $delete['user_id'];
        $post_id = $delete['id'];
    }
    if ($current_user == $group_user_id) {
    $sql = sprintf("DELETE FROM group_posts WHERE id = %d", $post_id);
    mysql_query($sql);
    }
}

谢谢你的帮助!

发送一个简单的ajax post请求就可以达到你想要的效果。cookie是通过ajax发送的,所以$_SESSION通常是可访问的

使用jquery缩写ajax:

$('#btnDelete').click(function(){$.post('#',{delete:1});});

为$.post()添加第三个参数以在PHP结束后执行操作

分别删除所有记录,只需将第二个if块移动到while块中。我要把整个过程改成

mysql_query("delete from group_posts where user_id= ".$current_user);

所以我是对的,除了Einacio说的,你异步做这个并不意味着什么,但是调用页面而不实际去到那个页面在浏览器中。

因此,删除数据库中条目的PHP页面与通常相同,做它的事情。不同之处在于如何调用它——在本例中使用Einacio发布的函数。这段Javascript调用页面,提交参数,并给出响应(如果有的话)。请访问www.jquery.com,搜索AJAX示例并进行尝试。这并不难。