2012-08-16 31 views
1

我已經創建了一個會話系統,它顯示了您擁有的會話列表。 您可以刪除(隱藏)消息。如果ID存在於其他表中,則顯示null

問題是,當所有消息都被隱藏時,它會顯示一個(顯而易見的)隨機消息。它不應該顯示名稱或任何東西。

下面是SQL查詢:

SELECT * FROM 
(SELECT * FROM post ORDER BY datotid DESC) as inv 
WHERE fk_bruger_til = '$brugerid' 
GROUP BY fk_bruger_fra 
ORDER BY datotid DESC 

和數據庫結構:

消息表:

message_id | fk_user_to | fk_user_from | message | datetime | read 

隱藏消息表:

deleted_id | fk_message_id | fk_user_id 
+0

如果郵件表中的post_id沒有出現在隱藏郵件的fk_post_id中,會發生什麼? – 2012-08-16 09:34:16

回答

2

代替具有兩個分開消息/隱藏消息的表格爲什麼不只是在消息表中有一個附加字段,表示它是否被1/0隱藏。

這應該會使您的SQL查詢更易於編寫。

如果您可以解釋表格字段的含義,也可以使它更容易。只有一個我可以做出來是datetoid。

+0

我認爲將它放在單獨的表中會更明智,因爲user1可以隱藏消息,而user2仍然可以看到它,因爲user2沒有隱藏它。 現在翻譯表格:-) – 2012-08-17 07:58:54

相關問題