Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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查询:如何获取向我的特定用户发送状态为1的消息的用户数?_Php_Mysql - Fatal编程技术网

Php Mysql查询:如何获取向我的特定用户发送状态为1的消息的用户数?

Php Mysql查询:如何获取向我的特定用户发送状态为1的消息的用户数?,php,mysql,Php,Mysql,我对MySql查询有一个问题(对我来说很复杂) 好的,下面是我需要做的: 首先,我需要检查一些特定用户收到的消息 $mid=$_SESSION['user']; $stat1=mysql_query("SELECT id, fromid, toid, subject FROM messages WHERE toid = '".$mid."' AND subject != 'not readed' GROUP BY fromid ") or die(mysql_error()); while

我对MySql查询有一个问题(对我来说很复杂)

好的,下面是我需要做的:

首先,我需要检查一些特定用户收到的消息

$mid=$_SESSION['user'];
$stat1=mysql_query("SELECT id, fromid, toid, subject FROM messages WHERE 
toid = '".$mid."'  AND subject != 'not readed' GROUP BY fromid ")
or die(mysql_error());
while ($h = mysql_fetch_array($stat1))
{
$whosend=$h['fromid'];
我需要做的第二件事是检查向我的特定用户(“toid”)发送消息(“fromid”)的用户(是否已删除)的状态。我必须从另一个表中执行此操作:

$stat2=mysql_query("SELECT id, status FROM members WHERE id='".$whosend."' AND 
status ='1'")or die(mysql_error());
while ($s = mysql_fetch_array($stat))
{
然后我的问题开始显现出来

如何获取向状态为1的特定用户发送消息的用户数?不是消息的数量,而是发送消息的用户总数

有没有更简单的方法来执行此查询?我试过像这样的连接表

$stat=mysql_query("SELECT memebers.id, memebers.status, messages.toid, 
messages.fromid,messages.subject,messages.id FROM members, messages
WHERE messages.toid='".$mid."' AND members.status ='7' ....

但即使在此查询中,我也需要在此查询之前发送消息的用户的id,以便在此联接表之前有另一个查询。

那么您正在查找发送此其他成员($mid)消息的状态为1的成员数

像这样的

$sql = "select count(distinct messages.fromid) From messages Inner Join members on members.id = messages.fromid Where messages.toid = '" . $mid . "' AND members.`status` = 1";

不能正确,因为您的GROUP BY formid和select子句中没有聚合。

请发布您的数据库结构,这将有助于感谢Aeron!我还有一个问题。如何为每个发送消息的用户列出最近收到的消息?
SELECT id, fromid, toid, subject FROM messages WHERE toid = '".$mid."'  AND subject != 'not readed' GROUP BY fromid