我使用简单的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
}
任何帮助都会感激....
答案 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')";