Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 根据日期获取以下帖子_Php_Mysql - Fatal编程技术网

Php 根据日期获取以下帖子

Php 根据日期获取以下帖子,php,mysql,Php,Mysql,在mysql中的下表中,我想获得与“follow”表相关的其他用户的跟随/订阅用户的帖子,这些帖子由某个用户订阅: 表1:下文 |-----------------------------------------| | id | uid | friends | |-----------------------------------------| | 1 | 1 | 2 | | 2

在mysql中的下表中,我想获得与“follow”表相关的其他用户的跟随/订阅用户的帖子,这些帖子由某个用户订阅:

表1:下文

|-----------------------------------------|
|   id      |    uid     |    friends     |
|-----------------------------------------|
|   1       |     1      |      2         |
|   2       |     1      |      3         |
|   3       |     2      |      1         |
|-----------------------------------------|
表2:员额

|-----------------------------------------------------|
|   id  |  uid   |    posts    |  date                |
|-----------------------------------------------------|
|   1   |   1    |   hai..     |  2013-07-08 01:56:09 |
|   2   |   5    |   awesome   |  2013-07-08 11:45:50 |
|   3   |   2    |   greate!!  |  2013-07-09 21:13:29 |
|   4   |   3    |   himm..    |  2013-07-10 12:06:10 |
|   5   |   2    |   super..   |  2013-07-10 14:50:09 |
|-----------------------------------------------------|
表3:用户

|---------------------------|
|   uid     |     name      |
|---------------------------|
|   1       |     ram       |
|   2       |     syed      |
|   3       |     seeta     |
|---------------------------|
例如: 考虑到uid为1的用户同时关注uid为2和3的用户,我想显示我的帖子和下面的最新帖子

结果如下所示:

   2 posted   
   super..  
     time:2013-07-10 14:50:09

   3 posted   
   himm..  
     time:2013-07-10 12:06:10

   2 posted   
   greate!!  
     time:2013-07-09 21:13:29

   1 posted   
   hai..  
     time:2013-07-08 01:56:09

假设您的用户id为5:

SELECT * FROM posts WHERE posts.uid IN (SELECT follow.friends FROM follow WHERE follow.uid=5)
或者您可以加入表:

SELECT posts.* FROM posts JOIN follow ON posts.uid = follow.friends WHERE follow.uid=5
如果您也想查看自己的帖子:

SELECT * FROM posts WHERE posts.uid=5 OR posts.uid IN (SELECT follow.friends FROM follow WHERE follow.uid=5)

我不确定您的表是否使用sql,但如果使用sql,我认为获得所需数据的最佳方法是使用左连接,如下所示:

SELECT * FROM follow
JOIN posts
ON (follow.friends = posts.uid OR follow.uid = posts.uid)
WHERE follow.uid = {user_uid}
其中{user_id}是您想要的用户id


如果是这种情况,请进一步查看联接f.e.at和left联接。

请显示您迄今为止尝试过的内容。表是以何种格式给出的?是mysql吗?@mysql格式的Sikian表only@prasanth我在mysql中添加了一个解决方案:我刚刚在需要的地方实现了同一用户的帖子,也许你想更新你的答案:@Jesbus你的查询是正确的..但是我只获得了关注者的帖子。我还需要关注者帖子和我的帖子uid..对不起,我会更新我的答案。@Jesbus谢谢你的代码也能工作。。它能工作谢谢sikian。@prasanth没问题,我很高兴能帮上忙。顺便说一句,下次尽量把问题弄清楚;