MySQL查询来获取所有不同的讯息,同一个用户
问题描述:
这是一个简单的聊天表MySQL查询来获取所有不同的讯息,同一个用户
id| fromUserId| toUserId| message
让我们的虚拟数据约翰(45),简(46)和玛丽(47)。约翰说,同时与简和玛丽聊天。
约翰(45)开始与珍(46)的谈话使数据看起来是这样的:
id| fromUserId| toUserId| message
1 | 45 | 46 | wassup?
在第二语境中,玛丽(47)与约翰(45)
id| fromUserId| toUserId| message
2 | 47 | 45 | wassup?
开始谈话
如何向约翰显示两个不同的对话?我使用这个查询,但它不工作:
<?php
$chatmsgQ="SELECT * FROM ve_chat c
WHERE c.isActive='1' AND c.fromUserId='$loginid_session'
OR c.toUserId='$loginid_session'";
$chatmsgresult= mysqli_query($db,$chatmsgQ);?>
编辑与用法
<ul class="dropdown-menu" style="overflow-x: hidden;">
<?php
$chatmsgQ="SELECT * FROM ve_chat c WHERE c.isActive='1' AND (c.fromUserId='$loginid_session' OR c.toUserId='$loginid_session') GROUP BY (c.fromUserId='$loginid_session' OR c.toUserId='$loginid_session')";
$chatresultse= mysqli_query($db,$chatmsgQ);
while($chatboxes= mysqli_fetch_array($chatresultse)){;?>
<li style="font-size: small; ">
<a style='width: 100% !important;' href='' data-toggle='modal' data-target='#chatModal'>
Chat with <?=$chatresultuseres['ProfileName'];?> | <?=$rowChat[0];?> Msg (s)
</a>
</li>
<?php } ;?>
</ul>
答
使用圆括号在你的MySQL查询
例子:
<?php
$chatmsgQ="SELECT * FROM ve_chat c
WHERE c.isActive='1' AND (c.fromUserId='$loginid_session'
OR c.toUserId='$loginid_session')";
$chatmsgresult= mysqli_query($db,$chatmsgQ);?>
对'或'进行分组,对查询进行参数化,并描述发生了什么。 '(c.fromUserId ='$ loginid_session' 或c.toUserId ='$ loginid_session')'。它错误,返回错误的记录,什么都不返回等。 – chris85
@ chris85:嘿克里斯现在我只与一个用户进行一次对话来显示。 –
你在循环取回吗?你可以添加更多的PHP使用? – chris85