投票系统:mysql查询检查用户是否投票

时间:2015-02-12 14:30:11

标签: php mysql wordpress

基本上我正在开发一个简单的系统,用户可以在其中投票或投票,我希望能够检查用户是否已经投票。我的Mysql表或多或少看起来如下:

id   author_id   posit_id vote
1       99         1       1
2       88         2       -1
3       99         3       1
4       88         4       1

我使用以下代码插入投票:

$wpdb->query("INSERT INTO wp_post_votes (author_id, post_id, vote) VALUES ('$user_ID', '$id', '$vote')"  );

现在,我想在php中编写一个代码,检查给定用户是否已经在给定帖子上投票(基于post_id)。我开始时:

$user_ID = get_current_user_id();

我尝试了各种查询,但我不确定如何继续。任何建议都将不胜感激。

2 个答案:

答案 0 :(得分:1)

SELECT vote FROM wp_post_votes WHERE post_id='postId' AND author_id = 'authorID'

而不是postID和authorID插入您想要检查的实际值。如果您得到任何结果,您就会知道用户已经投票,并且您将获得投票领域的价值。如果你没有得到任何结果 - 用户没有投票。

答案 1 :(得分:1)

您应该使用带有count列的select查询。例如:

SELECT count(author_id) as already_voted FROM wp_post_votes WHERE post_id='postId' AND author_id = 'authorID';

然后,比较结果:如果row ['already_voted'] == 0,他从不投票。否则,如果行['already_voted']< 0,他已经投了票。