php - 传递消息时出错 我自己的 PHP Chat

标签 php mysql

请帮助我,我正在聊天,但只有发送消息的用户可以看到它。另一个不能,例如:

以 David 身份登录:
(无法上传照片)
-我:你好
-ME:啦啦啦啦

以Shinny身份登录:
-ME:嘻嘻嘻

本以为shinny写的内容应该显示在我的聊天中,我写的内容应该显示在shinny的聊天中,但是传入的消息没有显示
应该怎样
-我:你好
-Shinny:嘻嘻嘻
-ME:啦啦啦啦

这是代码:我能做些什么来解决这个问题?

 <?php 

    $chaquery = "SELECT u.*,c.* FROM chats c 
     INNER JOIN users u WHERE u.user_id = c.chat_from 
     AND chat_from = '".$session['user_id']."' 
     AND chat_to = '".$_GET['id']."' 

(最终用户的id)

     OR u.user_id = c.chat_to AND u.user_id = c.chat_from
     AND chat_to = '".$session['user_id']."'
     AND chat_from = '".$_GET['id']."' 

(再次是命运用户的 id)

ORDER BY chat_id ";
          $chares = mysql_query($chaquery);

            if($chares)
            {
                while($chafilas = mysql_fetch_assoc($chares))
                {
                    $me = $chafilas["chat_remit"];
                    $message = $chafilas["chat_cont"];
                    $hour = $chafilas["chat_hora"];
                    $date = $chafilas["chat_fecha"];
                    $day = $chafilas["chat_dia"];
                    $fullname = $chafilas["usuario_nombre"];
                    $nick = $chafilas["usuario_nick"];
                    $userphoto = $chafilas["usuario_foto"];

                    if($me){?><div class="panel-body">
                     <img src="avatar/<?php echo $tufoto;?>" style="float:left; margin-right:10px;" width="55px" class="ui"/>
                     <a href="<?php echo $xnick;?>"><b style="font-size:16px;"><?php echo $xnombre;?></b></a><br><?php echo $xmensaje;?>
                    </div><?php }}}?>

这里是表格

  `chat_id` int(11) NOT NULL AUTO_INCREMENT,
  `chat_from` varchar(45) COLLATE utf8_bin NOT NULL,
  `chat_to` varchar(45) COLLATE utf8_bin NOT NULL,
  `chat_message` longtext COLLATE utf8_bin NOT NULL,
  `chat_hour` varchar(10) COLLATE utf8_bin NOT NULL,
  `chat_day` varchar(2) COLLATE utf8_bin NOT NULL,
  `chat_date` varchar(7) COLLATE utf8_bin NOT NULL,
  `chat_seen` varchar(2) COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`chat_id`)

最佳答案

您的代码没有任何问题..您是否将这些聊天内容保存在某个地方??如果是的话,你必须使用像这样的 ajax 调用来刷新包含你的聊天消息的特定 div....

<script type="text/javascript">
$(function() {
//populating chat the first time
refresh_chat();
// recurring refresh every 1 seconds
setInterval("refresh_chat()", 1000);

    $("#send").click(function() {
        // getting the values that user typed
        var send    = $("#send").val();
        var chat    = $("#chat").val();
        var data   = 'add='+ add + '&comp='+ comp;

      $.ajax({
            type: "POST",
            url: "chat.php",
            data: data,
            success: function(html){ 
            // this happen after we get result
                $("#scroll").fadeOut(500, function(){
                    $(this).html(html).fadeIn(500);
                    $("#scroll").val("");
                    //alert('hello');

                        });


            });   
             return false;
            }
function refresh_shoutbox() {
    var data = 'refresh=1';
$.ajax({
        type: "POST",
        url: "chat.php",
        data: data,
        success: function(html){ // this happen after we get result
            $("#chat").html(html);
        }
    });

    });


});
</script> 

希望这对你有帮助:)

关于php - 传递消息时出错 我自己的 PHP Chat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20026869/

相关文章:

php - 使用 mysql LIKE 语句

php - 更少的 css 绝对路径无法正确显示

mysql - 如何将我的水平查询结果用于另一个 SQL 查询

php - 如何将图像发布到数据库列并在页面上显示?

python - Flask-mysqldb 与 Mysql-connector-python

PHP:如何从字符串中删除特殊字符(某些除外)

php - Codeigniter 事件记录查询已缓存 - 查找旧表名而不是新表名

javascript - 构造JS数据的最佳方式jQuery多类多维数组

javascript - 使用PHP switch控制语句列出MySQL数据库中的每个表列和行

php - 如何在 MY_Model 中传递 (is not null)