Php mysql连接无法正常工作
我在mysql数据库中有3个表Php mysql连接无法正常工作,php,mysql,sql,join,group-by,Php,Mysql,Sql,Join,Group By,我在mysql数据库中有3个表 chat user1, user2, chat_key chat_seen msgid, userid, viewed users username, status, key 因此,我试图显示用户在线订购的聊天记录,然后显示看到的消息。但它不起作用。这是我到目前为止,我只得到它与聊天和用户的工作,我不知道如何添加聊天秩序看到 ("SELECT u.random, u.status, c.chat_key, c.seen, u.username
chat
user1, user2, chat_key
chat_seen
msgid, userid, viewed
users
username, status, key
因此,我试图显示用户在线订购的聊天记录,然后显示看到的消息。但它不起作用。这是我到目前为止,我只得到它与聊天和用户的工作,我不知道如何添加聊天秩序看到
("SELECT u.random, u.status, c.chat_key, c.seen, u.username
FROM chat c, users u
WHERE CASE
WHEN c.user1 = ?
THEN c.user2 = u.random
WHEN c.user2 = ?
THEN c.user1= u.random
END
AND (
c.user1 = ?
OR c.user2 = ?)
ORDER BY u.status DESC LIMIT 50");
所以结果应该是
username - online - (2 messages)
username - online - (1 message)
username - offline - (20 messages)
username - offline - (2 messages)
username - offline - (o messages)
目前我有
username - online - (0 messages)
username - online - (0 messages)
username - offline - (2messages)
username - offline - 20 messages)
请尝试以下查询:
("SELECT
u.random,
u.status,
c.chat_key,
c.seen,
u.username
FROM chat c, users u
WHERE
(c.user1 = ? AND c.user2 = u.random)
OR
(c.user2 = ? AND c.user1 = u.random)
AND
(c.user1 = ? OR c.user2 = ?)
ORDER BY u.status DESC LIMIT 50");
让我知道它是否有效D你能创建一个SQL FIDLE吗,这样我们就可以看到dataWrite标准连接语法,而不是过时的语法,这种语法已经过时20多年了。嘿,是的,但我正试图通过chat_seen Viewed来订购。在这种情况下,你只需将最后一行更改为:order by c.status,c.seen DESC LIMIT 50iv尝试过,但它显示为空。我需要它显示select*from chat seen,其中r.msgid=c.chat_key和r.userid=?按u.status,r.viewed订购我明白你的意思,请稍等。我们有些误会聊天室中的Dis viewed变量被视为用户看到的消息总数?