在INSERT IGNORE中使用IF STATEMENT

时间:2015-02-27 13:25:59

标签: php mysql if-statement insert ignore

我有一个投票系统,用户可以用它来投票。事情是,他们不能在同一个帖子上投票两次。这很好。我是这样做的:

$query  = "INSERT IGNORE INTO vote_id (vote, postid, userid) 
        VALUES ('1', '{$postid}', '{$userid}')";    
$result = mysqli_query($db, $query);
header('Location: index.php');

$ db 是我连接数据库的变量)。
他们仍然可以点击投票,即使它没有插入表格 我的问题是:
当它是“ IGNORE ”时,他们不应该点击
我的问题是:
如何分隔 INSERT IGNORE ,以便在 IF语句中使用 IGNORE ?或者以任何其他方式,这可以改变页面的布局
提前致谢!真的很难与这一个。

1 个答案:

答案 0 :(得分:0)

没有代码显示"投票"这很难说,但如果是按钮,那么您只需查询SELECT user_id post_id,如果它找到至少一行,则将disabled添加到按钮。像那样:

<button name="vote" value="1" disabled>Vote</button>

或者只是不显示任何内容&#34;投票&#34;在查询返回行时完全没有。

其他方式是检查会话,但是在重新启动后让相同的用户再次投票。