简单的一个在线聊天室

来源:互联网 发布:自己写一个linux系统 编辑:程序博客网 时间:2024/05/17 14:28

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

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

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 0