您好,欢迎访问一九零五行业门户网

ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例

这篇文章主要介绍了thinkphp结合ajax、mysql实现的客户端通信功能,需要的朋友可以参考下
该实例通过thinkphp结合ajax与mysql实现了客户端的通信功能,具体如下:
1、使用js的ajax局部刷新功能,每次刷新将数据库中读取出的新记录插入到页面的显示区域,代码如下:
window.onload =setinterval(showwords1000);//加载完成之后开始执行刷新功能
function showwords()//刷新时被调用函数,实现ajax请求{xmlhttp=getxmlhttpobject();//从自定义的函数中获取请求对象。if (xmlhttp==null){alert (browser does not support http request)return;}var url=index.php?g=ksks&m=comments&a=refresh;//要请求的路径使用shuipfcms框架,所以g是分组,m是action控制器,a是模板url=url+&data_id=+$(#data_id).val();//接上,,data_id传的参数,用于查询数据库的idurl=url+&lasttime=+$(i).last().siblings('input').val();//lasttime是页面显示数据的最后一个记录的时间戳,查找时根据大于这个时间戳的条件查找xmlhttp.onreadystatechange=statechanged;//响应状态改变时调用的函数xmlhttp.open(get,url,true);//使用get方法提交xmlhttp.send();//上面传参之后,这句可要可不要}function statechanged() //实现向页面插入数据功能{var str =;if(xmlhttp.readystate==4 || xmlhttp.readystate==complete){eval(var arrs=+xmlhttp.responsetext);//获取由action响应输出的数据,因为数据室php数组格式,需用eval或json转化成js数组格式var chdiv=$(#conversation_history);//通信聊天记录框for(var j=0;jerror(该访谈不存在!);$data = m(ksks_words_memoir);//print_r(date('y-m-d h:i:s',$lasttime));if(!$data)$this->error(初始化数据失败!);//$words = $data->where(array('dataid' => $data_id))->order('time asc')->select();//print_r($data->where(array('time' => $lasttime))->select());$where['time'] = array('gt',$lasttime);$count = $data->where($where)->count();//print_r(date(y-m-d h:i:s,$lasttime));$words = $data->where($where)->select();$datas = array();//要返回的数组$i = 0;foreach($words as $word){$datas[$i]['name'] = $word['name'];$datas[$i]['content'] = $word['content'];$datas[$i]['times'] = date('y-m-d h:i:s',$word['time']);$lasttime = $word['time'];$i = $i+1;}setcookie('lasttime',$lasttime);$datas = json_encode($datas);//$this->cache();echo $datas; }
3、聊天页面,代码如下:
class=presenter>{$vo.name}: {$vo.content}  {$vo.time|date=y-m-d h:i:s,###}
其它类似信息

推荐信息