gpt4 book ai didi

php - 从 friend 那里获取个人资料帖子

转载 作者:行者123 更新时间:2023-11-29 00:27:27 26 4
gpt4 key购买 nike

我正在制作一个小型 CMS,您可以在其中交 friend ,并在他们的墙上发帖。我正在制作一个页面,您可以在其中查看您 friend 发布的所有帖子(在他们的个人资料上),但是,我无法使其正常运行。

表: friend

+---------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------+------+-----+---------+----------------+
| friend_id | int(10) | NO | PRI | NULL | auto_increment |
| user1_id | int(10) | NO | | NULL | |
| user2_id | int(10) | NO | | NULL | |
| friends_since | int(10) | NO | | NULL | |
+---------------+---------+------+-----+---------+----------------+

表:profile_posts

+----------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+---------+------+-----+---------+----------------+
| post_id | int(12) | NO | PRI | NULL | auto_increment |
| posted_user_id | int(12) | YES | | NULL | |
| user_id | int(12) | YES | | NULL | |
| date_posted | int(11) | YES | | NULL | |
| total_likes | int(12) | YES | | NULL | |
| users_liked | text | YES | | NULL | |
| total_dislikes | int(12) | YES | | NULL | |
| users_dislikes | text | YES | | NULL | |
| message | text | YES | | NULL | |
+----------------+---------+------+-----+---------+----------------+

基本上,如果我想确定用户是否已将其个人资料作为状态发布,表 profile_posts 中的 posted_user_id 和 user_id 列必须匹配(posted_user_id 是正在发布的帖子的用户 ID,user_id 是user_id 是发布该消息的人的 ID)。

但是,我已经多次尝试获取 friend 的状态。

SELECT *
FROM `friends` AS `f`
LEFT JOIN `profile_posts` AS `pp`
ON `pp`.posted_user_id = `pp`.user_id
WHERE
`f`.user1_id != 2 OR
`f`.user2_id != 2
ORDER BY `pp`.`date_posted` DESC
LIMIT 0,15;

(不工作万岁!:D)

SELECT `f`.*,`pp`.*,
IF(`f`.user1_id=2, `f`.user2_id, `f`.user1_id) AS `uid`
FROM `friends` AS `f`
LEFT JOIN `profile_posts` AS `pp`
ON `pp`.posted_user_id =`uid`
WHERE
`f`.user1_id = `uid` OR
`f`.user2_id = `uid`
ORDER BY `pp`.`date_posted` DESC
LIMIT 0,15;

老实说,我不确定该怎么做,这开始让我生气,因为我不知道该怎么做。 :/

最佳答案

没关系,弄清楚如何去做。 :D

编辑:

SELECT 
`f`.*,
`pp`.*,
`ai`.`name`,
`ai`.`lastname`
FROM `friends` AS `f`
LEFT JOIN `profile_posts` AS `pp`
ON
`pp`.`posted_user_id` = `pp`.`user_id` AND
`pp`.`user_id` = `f`.user1_id OR
`pp`.`user_id` = `f`.user2_id
LEFT JOIN `account_info` AS `ai`
ON `ai`.`u_id` = `pp`.`user_id`
WHERE
`pp`.`user_id` = `pp`.`posted_user_id` AND
`f`.user1_id = 1 OR
`f`.user2_id = 1 AND
`pp`.`user_id` = `pp`.`posted_user_id`
GROUP BY `pp`.post_id
ORDER BY `pp`.date_posted DESC
LIMIT 0,20;

选择当前用户的好友,然后抓取其好友的所有个人资料帖子,然后加入帐户信息表以获取姓名等信息。

我想看看我是否可以把它做得更小,如果不是更好的话......

关于php - 从 friend 那里获取个人资料帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18303580/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com