检查某人是否已经投票

时间:2010-09-04 00:45:40

标签: php mysql

我使用简单的ajax脚本来允许用户对页面上的多个帖子进行投票。但是我不希望同一个用户多次投票反对同一个帖子,试图避免这种情况我记录他们在数据库中投票的用户,ID,用户名和帖子的ID。

像这样:

$updatevoters = "INSERT INTO voters VALUES('$userid', '$id', '$username')";

我现在需要做的是在向数据库提交投票之前确保用户尚未这样做。

我如何查询数据库,我想使用COUNT或类似的东西来检查是否有任何匹配?

我不确定如何获取所有3个变量$userid, $id and $username并与voters表进行比较。

基本上我希望能够建立一个IF:

If ($count = 0) {
  ADD THE VOTE TO TABLE
} else {
  //DIE
}

任何帮助都会感激....

2 个答案:

答案 0 :(得分:1)

$sql = "SELECT * FROM voters WHERE userid='$userid' AND id='$id' AND username='$username'";
$result = mysql_query($sql);
if(mysql_num_rows($result)){
    // there ARE rows so user has already voted
}
else{
    // no rows... user hasn't voted yet
}

无需计算...如果他们在数据库中,那么他们就投了票。 :)

答案 1 :(得分:0)

获取特定用户ID的投票记录。如果计数为零,则允许他们投票。

请告诉我$username在行"INSERT INTO voters VALUES('$userid', '$id', '$username')";

之前的任何地方进行了转义或清理