-1
この簡単なチャットテーブル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?
との会話を開始しました
どのようにして2つの異なる会話をJohnに表示できますか?私は、このクエリを使用していますが、それは動作しません:
<?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);?>
EDITを使用に
<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>
「or」をグループ化し、クエリをパラメータ化し、何が起こるかを記述します。 '(c.fromUserId = '$ loginid_session' OR c.toUserId = '$ loginid_session')'となります。エラーが返され、間違ったレコードが返され、何も返されません。 – chris85
@ chris85:ちょっとちょうど今、私は1人のユーザーと1つの会話を表示するだけです。 –
フェッチをループしていますか? PHPの使用法をさらに追加できますか? – chris85