簡體   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