私は1つの会話でユーザーごとに異なるチャットバブルカラーを表示しようとしています。Elseステートメントが間違ったdivを表示している場合
これは動作します:
<?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);
while($chatmsg= mysqli_fetch_array($chatmsgresult)){;?>
<?php if($chatmsg['fromUserId']==$loginid_session):?>
<!-- user one -->
<p class='bubble pull-left'><?=$chatmsg['message'];?></p>
<?php elseif($chatmsg['fromUserId']!=$loginid_session):?>
<!-- user two-->
<p class='bubbleother pull-right'><?=$chatmsg['message'];?></p>
<?php endif;?>
<?php } ;
?>
しかし、以前のステートメントが必要とされるものはかなりではありません。ユーザーは会話を通じて同じバブルを維持する必要があります。以下のクエリは正しいものの、動作しません。私が間違っていることは何ですか?あなたが後に使用する場合
$chatmsgQ="SELECT * FROM ve_chat c
WHERE c.isActive='1'";
Becuaseとc.fromUserId = '$のloginid_session' OR c.toUserId = '$のloginid_session' を条件:
<?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);
while($chatmsg= mysqli_fetch_array($chatmsgresult)){;?>
<?php if($chatmsg['fromUserId']==$loginid_session OR $chatmsg['toUserId']==$loginid_session):?>
<!-- user one -->
<p class='bubble pull-left'><?=$chatmsg['message'];?></p>
<?php elseif($chatmsg['fromUserId']!=$loginid_session OR $chatmsg['toUserId']!=$loginid_session):?>
<!-- user two-->
<p class='bubbleother pull-right'><?=$chatmsg['message'];?></p>
<?php endif;?>
<?php } ;
?>
私はあなたの2番目の条件( 'elseif')は決して実行されないと思います –
@ B.Desai:私は知っていますが、なぜですか? –
あなたのクエリcondyionが 'c.fromUserId = '$ loginid_session' OR c.toUserId = '$ loginid_session''なので、これから最初の条件は常に真になります。 エキスパートアウトプットに関してより具体的になるでしょうか。 –