2012-08-16 77 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

相关问题