2013-05-10 100 views
-1

我有MySQL表格消息,以允许我的新网站的用户发送私人消息到另一个,而我正在编码的消息页我意识到,如果user1发送消息给user2和某个时候user2决定后要删除他的收件箱中的邮件,那么来自user1收件箱的邮件也将被删除,我想指出我如何能够确定这一点,以便user1或user2只应删除收件箱中的邮件?也许这需要创建每个用户表或者背后有什么样的概念?查询私人消息图表系统

我已经尝试了多个插入不同的ID基于人发送消息,例如发送一个消息两次到服务器,所以user1应该有他自己的消息也user2但这是除了是不好的编程似乎也不可能,因为在html表单的接收者不能变成发件人。我尝试在插入.PHP页面上对变量进行反向(交换),以便将原始接收者发送给发件人,这样我就可以使用会话用户数据来回显消息,但是这是通过传递user2来查看所有消息,例如他已经发送而user1以它假定的方式看到消息。

如果我的代码将需要请让我知道,所以我可以提供。

+0

您可以为'User1Show','User2Show'等两个额外的列。如果User1删除它,请将1添加到User1Show(对于用户2来说反之亦然)。然后在您的代码中设置它只显示消息,如果'User1Show'设置为0. – 2013-05-10 12:40:53

+0

我应该使用什么查询来设置一个或零? – phiwi 2013-05-10 12:52:40

回答

0

有一张桌子。将发件人,收件人,所有者和邮箱存储在单独的列中。

检查用户是否要求删除邮件是所有者,然后才允许删除该邮件。 (DELETE from messages WHERE message_id=? AND owner=?)。

发送消息时,将其存储两次。一旦在发件人的已发送邮箱中,并在收件人收件箱邮箱中。

+0

如果我得到它,你的意思是当我选择消息时,我应该使用SELECT * FROM MESSAGES WHERE message_id =?和owner = userlogin?所以每个用户在需要时都会查询或删除他/她的消息? – phiwi 2013-05-10 13:01:03