编写php对话消息MySQL查询

时间:2016-02-24 14:00:54

标签: php mysql

我正在创建基于对话的php消息系统。我遇到了问题。 我有一个包含列的表:idtofrommsgtexttimesentvieweddeleted。 我想在tofrom之间只选择一个对话。请注意,如果用户to可以向用户from发送消息。 如何选择单独的对话?

我正在尝试使用这个SQL: SELECT tofrom FROM pms WHERE to ='$ userid'或from = $ userid group by to ORDER by id desc LIMIT 50

但这不是另一种方式。因为如果user1向user2写入消息,user2回复给user1,如果user1回复并且user2回复,我会看到2个对话,但它应该是一个对话。

它应该是这样的: 用户向其他用户发送消息。它应该在对话列表中显示其他用户的名字。 如果用户从另一个用户收到消息,他应该在对话列表中看到他的名字。

1 个答案:

答案 0 :(得分:0)

试试此代码

SELECT `id`, `to`, `from`, `msgtext`, `timesent`, `viewed`, `deleted` FROM table_name
WHERE `to` = 'username_to' AND `from` = 'username_from'
LIMIT 1
OFFSET 0

如果您了解背后的概念,您将意识到您只需要使用OFFSET号码来获取下一条记录。

P.S。 LIMIT&的快捷方式上面的OFFSET行是:

LIMIT 0, 1

另外,当您在Stack Overflow上询问某些内容时,您应该显示您尝试过的内容,并询问为什么不起作用,而不是简单地询问代码。