为了账号安全,请及时绑定邮箱和手机立即绑定

用于显示登录用户和以下帖子的 Mysql 连接查询

用于显示登录用户和以下帖子的 Mysql 连接查询

PHP
catspeake 2022-12-30 16:17:03
我为正在处理的项目创建了下表;数据库图像我需要有关如何编写一个 mysqli 连接查询的帮助,该查询选择由 USER_ID 1 创建的帖子以及 USER_ID 1 正在关注的所有用户(即 FOLLOWING_USER_ID 2、3 和 4)。当前,登录的用户 ID 保存在会话中$id = $_SESSION['id'];。SELECT * FROM users_post WHERE by_user_id = $id (SELECT following_user_id FROM users_following WHERE user_id = $id) AND by_user_id = following_user_id上面的代码不起作用 :) 但我认为代码应该是这样的。我真的需要你的帮助来解决这个问题,因为我不太擅长 Mysql 连接。所需的输出(如果按 DATE_CREATE desc 排序)和 USER_ID 1 所需的输出图像
查看完整描述

1 回答

?
隔江千里

TA贡献1906条经验 获得超10个赞

听起来您想列出表users_post中给定用户的所有记录。如果这是正确的,这就是您的查询应该是这样的:by_user_idfollowing_user_idusers_following


SELECT `up`.* 

FROM `users_post` AS `up`

JOIN `users_following` AS `uf` ON `uf`.`following_user_id` = `up`.`by_user_id`

WHERE `uf`.`user_id` = 1

GROUP BY `up`.`id` 

如果您还想包含users_post给定用户的帖子,这就是您的查询:


SELECT `up`.* 

FROM `users_post` AS `up`

JOIN `users_following` AS `uf` ON `uf`.`following_user_id` = `up`.`by_user_id`

WHERE (`uf`.`user_id` = 1

    OR `up`.`by_user_id` = 1)

GROUP BY `up`.`id` 

如果这不是您想要的结果集,请提供更多说明,我会尽力帮助您。


希望这可以帮助!


查看完整回答
反对 回复 2022-12-30
  • 1 回答
  • 0 关注
  • 77 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信