PHP使用反向Ajax技术实现在线客服系统详解(4)
咨询人请求回复信息界面(16-kefu-ajax.php):
通过ajax+长轮询实现反向Ajax。请求数据,获取数据后,将数据置为已读,然后返回,结束本次连接。
<?php /** * 通过ajax+长轮询实现反向Ajax * @author webbc */ set_time_limit(0);//不设置请求超时时间 require('./conn.php'); $rec = $_COOKIE['username']; $sql = "select * from msg where rec = '$rec' and isread = 0 limit 0,1"; while(true){ $result = mysql_query($sql); $msg = mysql_fetch_assoc($result); //如果有客服人员的回复信息 if(!empty($msg)){ //把该信息置为已读 $sql = "update msg set isread = 1 where mid = ".$msg['mid']; mysql_query($sql); echo json_encode($msg);//返回json数据 exit();//如果此次连接获取数据,就结束本次连接 } sleep(1);//隔一秒循环1次 } ?>
数据库连接文件(conn.php):
<?php $conn = mysql_connect('localhost','root','1234'); mysql_query('use test;'); mysql_query('set names utf8'); ?>
运行结果图:
更多关于PHP相关内容可查看本站专题:《PHP+ajax技巧与应用小结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。