如何在PHP中利用mysql与ajax实现一个聊天室功能

  介绍

本篇文章为大家展示了如何在PHP中利用mysql与ajax实现一个聊天室功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1。创建mysql数据库表:

代码如下:

create table聊天(id bigint AUTO_INCREMENT,用户名varchar (20), chatdate datetime,味精varchar(500),主键(id),

2。编写建议连接数据库函数:

dbconnect。php

& lt; php ?   function  db_connect ()   {   ,作用(“亚洲/Shanghai");   ,link 美元;=,mysql_connect (“xxx.xxx.xxx.xxx",,“databasename",,“password")   ,,,,,或是死(& # 39;无法连接:,& # 39;,只mysql_error ());   ,mysql_select_db (“databasename"),或是死(& # 39;没有你找到指定数据库& # 39;);   ,return 真实;   }   function 引用(strText美元)   {   时间=美元才能Mstr  addslashes ($ strText);   return 才能“& # 39;“,只Mstr 美元;只“& # 39;“;   }   function  isdate (d)美元   {   ret 美元;=,才能正确;   ,试一试   {才能   ,,,x 美元;=,日期(“d", $ d);   ,,}   catch 才能;(Exception  $ e)   {才能   ,,,ret 美元;=,假;   ,,}   echo 才能;$ x;   return 才能;随著美元;   }   祝辞;

3。编写ajax发送和接收函数:

ajax发送函数chat_send_ajax。php

& lt; php ?   ,,require_once (& # 39; dbconnect.php& # 39;);   ,,db_connect ();   ,,msg 美元;=,iconv (“UTF-8",“GB2312", $ _GET [“msg"]);   ,,dt 美元;=,日期(“Y-m-d  H:我:s");   ,,user 美元;=,iconv (“UTF-8",“GB2312", $ _GET [“name"]);   ,,$ sql=癐NSERT  INTO 聊天(用户名、CHATDATE味精),,,。   ,,,,,的值(“,只引用(用户)美元,只“,“,只引用(dt)美元,只“,“,只引用(msg)美元,只“);“;   ,,,,echo  $ sql;   ,,result 美元;=,mysql_query ($ sql);   ,,如果(! $结果)   ,,{   ,,,throw  new 例外(& # 39;Query 失败:& # 39;,只mysql_error ());   ,,,退出();   ,,}   祝辞;

ajax接收函数chat_recv_ajax。php

& lt; php ?   头(“内容类型:text/html; charset=gb2312");   标题(“到期:清华,01,Jan  1970年,00:00:01  GMT");   头才能(“cache - control: no - cache, must-revalidate");   头才能(“杂注:no-cache");   ,,require_once (& # 39; dbconnect.php& # 39;);   ,,db_connect ();   ,,sql 美元;=,“SELECT  *,, date_format (chatdate & # 39; % Y年% m月% d日,% " # 39;),as  cdt 得到chat  order  by  ID  desc  limit  200“;;   ,,sql 美元;=,“SELECT  *,得到(“,只sql 美元;只“),as  ch  order  by  ID";   ,,result 美元;=,mysql_query (sql)美元,或是死(& # 39;Query 失败:& # 39;,只mysql_error ());   ,,//Update  Row 信息   ,,味精美元=? lt; table 边界=& # 39;0 & # 39;,风格=& # 39;字体大小:,10 pt;,颜色:,白色;,字体类型:,verdana,, arial; & # 39;在“;   ,,while  ($ line =, mysql_fetch_array(因此,美元,MYSQL_ASSOC))   ,,{   ,,,,,msg 美元;=,msg 美元;只“& lt; tr> & lt; td>“,只行(“cdt")美元,只“,& lt;/td>“,。   ,,,,,,,“& lt; td>“,只行(“username"),美元又是;“:,& lt;/td>“,。   ,,,,,,,“& lt; td>“,只行(“msg")美元,只“& lt;/td> & lt;/tr>“;   ,,}   ,,味精=msg 美元;只“& lt;/table>“;   美元,才能echo 味精;   祝辞;

4。聊天室页面:

聊天。html

& lt; ! DOCTYPE  html  PUBLIC “-//W3C//DTD  XHTML  1.0,过渡//EN"   “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"比;   & lt; html  xmlns=癶ttp://www.w3.org/1999/xhtml",在   & lt; head>   & lt; meta  http-equiv=癈ontent-Type",内容=皌ext/html;, charset=gb2312",/比;   & lt; title>才能聊天页面& lt;/title>   & lt; script 类型=拔谋?javascript"比;   var  t =, setInterval(函数(){get_chat_msg ()}, 5000);////,General  Ajax 电话//var  oxmlHttp;   var  oxmlHttpSend;   function  get_chat_msg ()   {   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在PHP中利用mysql与ajax实现一个聊天室功能