我在一个PHP投票系统上工作,我想检查登录的用户在帖子上投票,如果用户已经投票,显示投票。我想在一个查询中完成它,而不使用多个quire。
员额表
+---------+--------+--------+
| post_id | title | c_id |
+---------+--------+--------+
| 1 | post 1 | 2 |
| 2 | post 2 | 3 |
| 3 | post 3 | 2 |
| 4 | post 4 | 1 |
+---------+--------+--------+
MySQL循环
SELECT *
FROM posts
LEFT
JOIN categories
ON categories.cat_id = posts.c_id
WHERE posts.c_id = categories.cat_id
AND posts. active = 1
ORDER
BY posts.post_id DESC
LIMIT 0, 10
投票表
+---------+--------+---------+
| vote_id | p_id | u_id |
+---------+--------+---------+
| 1 | 1 | 1 |
| 2 | 2 | 1 |
| 3 | 2 | 2 |
| 4 | 4 | 1 |
+---------+--------+---------+
登录用户=
$uid
所以如果我在上面的MySQL循环中运行query,它就可以正常工作了
SELECT * FROM votes WHERE u_id = $uid AND p_id= $post_id
有没有办法把这两个查询结合起来?
最佳答案
SELECT *
FROM posts P
LEFT
JOIN categories C
ON C.cat_id = P.c_id
LEFT JOIN (SELECT p_id FROM votes WHERE u_id = $uid) V
ON V.p_id=P.post_id
WHERE P. active = 1
ORDER
BY P.post_id DESC
LIMIT 0, 10 ;
关于php - PHP投票系统检查选票,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38025983/