繁体   English   中英

PHP-MYSQL-消息/用户表联接问题

[英]PHP - MYSQL - Messages/Users table join issue

我正在使用MYSQL来显示特定表中的一些数据。但是我有一个小问题。

我正在尝试建立一些对话系统(出于我的学习目的)...

我查询“数据库名称消息”,其中有2列user_one和user_two。 当前登录的用户ID可以是eather user_one或用户2(此字段是用户的ID)...

所以我使用SELECT ... FROM table_name WHERE user_one = $ id OR user_two = $ id); 并且可以正确显示我当前登录的user_one或user_two用户的消息。 它工作正常...

但是,现在我需要知道如何加入表用户并仅选择“其他人”的用户名,而不是登录并在每个消息(例如“来自...的消息”)上显示它!

所以可以说我有以下几点:

用户表:

id    username
--------------------------
1     username1 
2     username2 

消息表:

id    title   user_one    user_two
--------------------------------------------
1     Title      1           2
2     Title2     2           1

因此,如果username1已登录,则当我输出消息时,我希望它输出:

Title    From
-----------------------------------------
Title    username2
Title2   username2

如果username2已登录,则提示:From:username1

所以我想始终显示第二名的用户名,而不是第二个人的身份。我定期加入表,但同时显示两个用户的用户名...

我做错了表结构还是该怎么做?

谢谢。

尝试这个

   SELECT Messages.title As title ,Users.username as `FROM` FROM Users
   INNER JOIN  Messages 
   ON  Messages.user_two = Users.id 
   OR Messages.user_one = Users.id
   WHERE Users.username != 'username1'

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM