2017-05-15 47 views
-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? 
開始談話

如何向約翰顯示兩個不同的對話?我使用這個查詢,但它不工作:

<?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> 
+0

對'或'進行分組,對查詢進行參數化,並描述發生了什麼。 '(c.fromUserId ='$ loginid_session' 或c.toUserId ='$ loginid_session')'。它錯誤,返回錯誤的記錄,什麼都不返回等。 – chris85

+0

@ chris85:嘿克里斯現在我只與一個用戶進行一次對話來顯示。 –

+0

你在循環取回嗎?你可以添加更多的PHP使用? – chris85

回答

0

使用圓括號在你的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);?> 
相關問題