基本上我正在开发一个简单的系统,用户可以在其中投票或投票,我希望能够检查用户是否已经投票。我的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();
我尝试了各种查询,但我不确定如何继续。任何建议都将不胜感激。
答案 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,他已经投了票。