作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 PHP 投票系统,我想检查登录用户对帖子的投票情况,并在用户投票后显示已投票。我想在一个查询中完成,而不使用多个查询。帖子表
+---------+--------+--------+
| 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 循环中运行查询,它就可以正常工作
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投票系统查票,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38025983/
我是一名优秀的程序员,十分优秀!