Php 一次提取数据并放入两个不同的div
我一直在尝试获取两个用户之间的聊天信息,并希望将它们放在两个不同的Php 一次提取数据并放入两个不同的div,php,jquery,html,css,mysql,Php,Jquery,Html,Css,Mysql,我一直在尝试获取两个用户之间的聊天信息,并希望将它们放在两个不同的divs中,并分别设置这两个div的样式。我现在正在做的是获取聊天记录并将其放在单个div“messages”中,但我希望获取数据,并将其放在“messages”div中的两个div中 函数fetch_chat(){ //获取两个用户之间的聊天记录 $.ajax({ url:“fetch_chat.php”, 方法:“张贴”, 数据:{ id:currentID }, 数据类型:“文本”, 成功:功能(数据){ $(“#消息”).
div
s中,并分别设置这两个div的样式。我现在正在做的是获取聊天记录并将其放在单个div“messages”中,但我希望获取数据,并将其放在“messages”div中的两个div中
函数fetch_chat(){
//获取两个用户之间的聊天记录
$.ajax({
url:“fetch_chat.php”,
方法:“张贴”,
数据:{
id:currentID
},
数据类型:“文本”,
成功:功能(数据){
$(“#消息”).show();
$('#messages').html(数据);
$(“分区面积”).show();
//chatTimer=setTimeout(fetch_chat,500);//在2秒内再次请求聊天
如果(!滚动){
$(“#消息”).animate({scrollTop:$(document.height()},“fast”);
滚动=真;
}
}
});
}
从数据库获取数据时,如果消息来自用户,则为其指定一个类,否则为其指定另一个类。然后在显示聊天结果的html文件中,定义这些类样式。在具有函数fetch_chat()的文件中包含这些样式
.我的{
背景颜色:浅蓝色;
}
不是我的{
背景颜色:浅黄色;
}
php将是
<?php
require("config.php");
$id= $_POST['id'];
$sql="select * from users where id='$id'";
$res=mysqli_query($con,$sql);
$row=mysqli_fetch_array($res);
$user_to= $row['name'];
$sql1="select * from chats where user_from='$_SESSION[name]' AND user_to='$user_to' OR user_to='$_SESSION[name]' AND user_from='$user_to' order by id";
$res1=mysqli_query($con,$sql1);
if(mysqli_num_rows($res1)>0){
while($row=mysqli_fetch_array($res1)){
if($row["user_from"] === $_SESSION["name"] ) {
echo "<div class='mine'> $row[msg] </div>\n";
}
else {
echo "<div class='notMine'> $row[msg] </div>\n";
}
//echo $row['msg'];
}
}
else {
echo "No msgs <br />";
}
?>
但是会话[名称]是当前登录的用户的名称。因此if(userfrom==会话(name)将始终为true。我之前尝试过这一点,并获得了相同颜色的完整消息。我们正在检查每一行-这一行消息是由用户发送的还是由用户接收的。-if($row[“user\u from”]===$\u会话[“name”])-因此,如果此特定消息是由用户发送的,那么它将具有不同的背景。嗯,我想我有点困惑…在我的插入查询中,我插入了会话(名称)当消息被发送时。这就是为什么if语句在我的情况下总是正确的。你能建议我如何插入发送消息的用户的名称或Id…插入聊天(userfrom,user to,msg)值($\u session[name],$user to,$msg);当有人发送消息时,这是我的插入查询。我认为该查询没有问题。您正在获取两种类型的记录,其中“from”是此用户,“to”是此用户。因此,我想它应该可以工作。
<style>
.mine {
background-color: lightblue;
}
.notMine {
background-color: lightyellow;
}
</style>
<?php
require("config.php");
$id= $_POST['id'];
$sql="select * from users where id='$id'";
$res=mysqli_query($con,$sql);
$row=mysqli_fetch_array($res);
$user_to= $row['name'];
$sql1="select * from chats where user_from='$_SESSION[name]' AND user_to='$user_to' OR user_to='$_SESSION[name]' AND user_from='$user_to' order by id";
$res1=mysqli_query($con,$sql1);
if(mysqli_num_rows($res1)>0){
while($row=mysqli_fetch_array($res1)){
if($row["user_from"] === $_SESSION["name"] ) {
echo "<div class='mine'> $row[msg] </div>\n";
}
else {
echo "<div class='notMine'> $row[msg] </div>\n";
}
//echo $row['msg'];
}
}
else {
echo "No msgs <br />";
}
?>