该实例通过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";//要请求的路径使用shuipfcms框架,所以g是分组,m是action控制器,a是模板 url=url+"&data_id="+$("#data_id").val();//接上,data_id传的参数,用于查询数据库的id url=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;j<arrs.length;j++){//循环插入数据 var obj=$("<tr><td><h3></h3></td><td></td></tr>");//定义页面当中记录框的html格式代码 var i=$("<i> "+arrs[j].times+"</i><input type='hidden' value='"+arrs[j].times+"'>");//i标签i为thinkphp定义的直接将时间输出到input隐藏并且存储得到数据里面的聊天发送时间 var p=$("<p></p>"); p.html(arrs[j].content);//聊天内容 p.append(i); var h3value=arrs[j].name;//发送的作者 obj.find("h3").html(h3value+":"); if(h3value=="主持人") {obj.find("h3").addClass("presenter");}//主持人会特别显示 obj.find("td:last").append(p); chdiv.append(obj);//追加到table里面 } chdiv.parent().scrollTop(chdiv.parent()[0].scrollHeight+0);//滚动到底部 } }
function GetXmlHttpObject()//定义ajax请求对象 { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { //Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; }
2、action控制器,代码如下:
function refresh(){ $data_id = I('get.data_id');//获得嘉宾id $lasttime = I('get.lasttime'); //print_r(date("Y-m-d H:i:s",$lasttime)); if(!$data_id) $this->error("该访谈不存在!"); $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、聊天页面,代码如下:
<volist name="words" id="vo"> <tr> <td><h3 <if condition="$vo['name']=='主持人'">class="presenter"</if{$vo.name}:</h3></td> <td> <div>{$vo.content}<i> {$vo.time|date="Y-m-d H:i:s",###}</i> <input type="hidden" name="time" value="{$vo.time}"> </div> </td> </tr> </volist>
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
2025年01月26日
2025年01月26日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]