php - Mysqli - 如何构建查询?

标签 php mysql sql mysqli

我尝试请求我的数据库,这样我就可以在 Facebook 主页上获得新闻源(最新帖子)。

我和 friend 有一张 table
- userid1 - userid2- accepted 所以如果接受 == 1 他们是 friend ...... enter image description here

我已经尝试先请求好友,然后获取帖子...错误的方式导致至少他们以正确的方式显示它并按时间戳排序... 但是每个 friend 的 block ... 不只按时间戳排序......

SELECT * FROM friends
WHERE user1='$ownid' or user2='$ownid'
AND accepted='1'    

我的帖子表:
Userid- from_user_id- timestamp- 文本 enter image description here

SELECT * FROM posts
WHERE from_user='$friendsuserid'
ORDER BY RAND() , timestamp desc

所以我的问题, 快速获取我 friend 的所有帖子并按时间戳排序的确切查询是什么?

Means-> Check whos friedn-> getPosts -> order by Timestamp
所有这些都在 1 个查询中....?

感谢您的每一个回答。

最佳答案

试试这个:

SELECT * FROM posts p INNER JOIN friends f ON
  ((p.from_user=f.user1 OR p.from_user=f.user2) AND (f.user1='$ownid' OR f.user2='$ownid') AND f.accepted) 
  WHERE p.from_user!='$ownid' ORDER BY p.posted_time DESC

关于php - Mysqli - 如何构建查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31703458/

相关文章:

mysql - 按日期分片跟踪表有缺点吗?

Mysql - 按标记化字符串搜索

php - 找不到 Symfony 升级 3.3 到 3.4 服务

javascript - 如何在 YII2 中将具有单独 API URL 响应的 ajax 返回到 Controller ?

PHP 将 SQL 表更新为登录用户

MySQL:唯一,但默认为 NULL - 通过创建表允许。允许插入 1 个以上的 NULL。为什么?

mysql - 如何在 SQL 上正确计算帐户余额

mysql - NodeJS MySQL 撇号重复与 INSERT 查询

php - 在网站结构中找到 "orphan"文件

php - fsockopen 错误我想跳过