简单的一个在线聊天室

闲着无聊写一个基于数据库写一个在线聊天室

前几天闲着没事突然想起写个小程序玩玩,就想到了写个在闲聊天室,话不多说直接开始。

1.第一当然是先写一个聊天界面啦,我写的界面是这样:



聊天页面

2.写这个程序的主要思路就是:客户端点击“发送”提交聊天信息到数据库中,聊天记录窗口中再在数据库中将聊天记录取出并显示出来。
聊天页面方面需要利用到AJAX定时的刷新页面达到定时刷新页面,后台从数据库中取出信息:

使用js设置定时器定时刷新局部页面:
<script>
   $(function(){
   setInterval(aa,1000);//设置一个定时器,每秒对聊天记录框aa刷新一次
   var i=1;
   var str1=""; 
   function aa(){
       $.getJSON("load.php",function(res){   //请求load.php获取返回的查询结果json数据
       if(res==="")//如果返回值为空或者返回值为上一条一样的不执行
       {
            console.log("no masg!");
       }else
   {
    jsonObj = res;                          
    var str ="<div class='text_list'>"+"<p class='info'>"+jsonObj['name']+":("+jsonObj['time']+")"+"["+jsonObj['addr']+"]"+"</p>"+"<p class='content_body'>"+jsonObj['content']+"</p></div>";
     if(str1==str)
      { 
      }
      else
      {
           $("#aa").append(str);
           str1=str;
           console.log("get masg!"+(i++)+res);
       }
       }
       });
       }
      });
</script>

load.php为查询现有的聊天记录的API,并返回JSON数据

load.php
<?php
                     require 'mysql_conn.php';
                     $sql = "select * from chat_log where IsNew=1 LIMIT 1";

                     $result = mysql_query($sql,$con)or die(mysql_error());
                     if(mysql_num_rows($result)==0)
                     {
                         echo "";
                     }
                     else
                     {
                            $row = mysql_fetch_array($result);
                            $rows['name']=$row['name'];
                            $rows['time']=$row['time'];
                            $rows['addr']=$row['addr'];
                            $rows['content']=$row['content']; 
                            $rows['id']=$row['id'];
                            echo json_encode($rows, JSON_UNESCAPED_UNICODE);

                     }            
                     mysql_close($con);
                ?>

具体代码请转:https://github.com/brave-orange/TalkOnline

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值