Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql连接无法正常工作_Php_Mysql_Sql_Join_Group By - Fatal编程技术网

Php mysql连接无法正常工作

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

我在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
                                     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变量被视为用户看到的消息总数?