繁体   English   中英

PHP/MySQL:在投票系统中,如何防止用户看到他已经投票的个人资料?

[英]PHP/MySQL: In a Voting System, how can I keep a user from seeing a profile he has already voted on?

一般来说,我怎样才能让用户看不到他已经投票过的个人资料,这样他就不会投票两次?

我有一个用户表(称为“用户”),每个用户都有一个唯一的用户 ID(列“userID”),我有另一个表(称为“投票”),每个用户给另一个用户的每个投票(使用他们各自的用户 ID 的列“fromUser”、“toUser”、“vote”),所以如果我想向用户显示一个新的随机配置文件进行投票,那么排除当前用户已经投票的任何用户的最佳方法是什么on(换句话说,排除任何“userID”,其中“userID”是“toUser”,“fromUser”是当前用户的 userID)。

谢谢!

SELECT userID FROM users
WHERE userID NOT IN (SELECT toUser FROM votes WHERE fromUser = 'theUserIdThatIsVotingNow')
ORDER BY RAND() LIMIT 1

这应该可以解决问题。

SELECT * 
FROM Users 
WHERE userID NOT IN (SELECT toUser FROM Votes WHERE fromUser = '$current_user_userID');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM