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

时间:2014-03-09 15:18:07

标签: php mysql

我正在使用MYSQL来显示特定表格中的一些数据...但是我的问题很小..

我正在尝试构建一些会话系统(为了我的学习目的)......

我查询“数据库名称消息”,其中有2列,user_one和user_two。当前登录的用户ID可以是user_one或user two(此字段是用户的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

所以我想显示From username始终是第二个人,没有登录一个...我定期加入表格,但它显示我用户名用户...

我的桌面结构是错误的还是我该怎么做?

感谢。

1 个答案:

答案 0 :(得分:0)

试试这个

   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'

DEMO