gpt4 book ai didi

javascript - 删除论坛帖子

转载 作者:行者123 更新时间:2023-12-02 20:11:17 24 4
gpt4 key购买 nike

我有一个包含以下字段的表:wall_posts、group_id、id 和 user_id。

Wall_posts是用户条目,group_id是从另一个表导入的,只是一个唯一的组id,id只是一个简单的计数器,user_id从 session 中获取用户id。

如果您通过将用户 ID 与 session 中的用户进行比较来按下删除按钮,我的代码将删除所有 wall_posts。我正在尝试找到一种方法来删除单个帖子,而不是用户的所有帖子。

代码如下:

if (isset($_POST['delete'])) {
$current_user = $_SESSION['user_id'];
$result = mysql_query("SELECT * FROM group_posts");
while ($user_id = mysql_fetch_array($result)) {
$id = $user_id['user_id'];
}
if ($current_user == $id) {
mysql_query("DELETE FROM group_posts WHERE $current_user = $id") or die(mysql_error());
}
}

如何将删除按钮绑定(bind)到单个帖子,而不是删除当前 session 中用户发布的所有帖子?

最佳答案

上面的 SQL 查询没有意义 - WHERE声明的格式应为 WHERE column_name = value .

假设id是 group_posts 的主键,当您显示帖子时,为作者创建的每个帖子创建一个链接,例如<a href="delete.php?delete=3">Delete This Post</a>发帖 id 3. 然后您将执行如下查询:

DELETE FROM group_posts WHERE id = postIdValueHere

使用上面的代码模式:

if (isset($_POST['delete']) && $_POST['delete'] > 0) {
$current_user = $_SESSION['user_id'];
$post_id = (int) $_POST['delete'];

if ($current_user == $id) {
mysql_query("DELETE FROM group_posts WHERE id = $post_id AND user_id = $id") or die(mysql_error());
}

该查询确保只能删除由当前作者创建的具有给定 ID 的帖子。

这能回答你的问题吗?

一旦您对 SQL 更加熟悉,您可能还想研究使用带有 mysqli 的准备好的语句。或PDO 。这将帮助您的代码干净且安全。

关于javascript - 删除论坛帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6929075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com