本例通过ThinkPHP结合Ajax和MySQL实现了客户端的通信功能,这是如下:

1,使用js的Ajax本地刷新函数,每次将数据库中读取的新记录插入到页面的显示区域时,代码如下所示:


在window.onload = setInterval(showwords1000); / /后负荷开始执行刷新功能完成




功能(showwords) / /刷新调用函数,实现Ajax请求
{
(XMLHTTP = getxmlhttpobject); / /从自定义功能请求对象。
如果(XMLHTTP = = null)
{
警报(浏览器不支持HTTP请求)
返回;
}
var url =指标。pHPG = ksksm = commentsa =刷新; / /使用shuipfcms框架路由请求,所以G是一个包,我是动作控制器和模板
url =网址+data_id =+ $(# data_id )(。Val); / /然后,data_id的传输参数,用于查询数据库ID
url =网址+次=+ $(我)(上),兄弟姐妹(输入的)(。Val); / /一是时间戳显示页面上记录数据,搜索大于时间根据搜索条件
XmlHttp。onreadystatechange = statechanged;响应状态的改变 / /函数调用
XmlHttp.open(得到,URL,true); / /使用GET方法提交
(XMLHTTP。送); / /后上述参数,它将不
}
功能(statechanged) / /插入数据到页面
{
var;
如果(XMLHTTP。发生= 4 | | XMLHTTP readyState = =完成。)
{
eval(VAR方法= + XMLHTTP。responseText / /获得);输出数据从操作的响应,因为资料室的PHP数组格式,使用eval或JSON在JS数组格式
无功chdiv = $(# conversation_history );/ /通信聊天框
对于(var j = 0;J < arrs.length;j++){ / /循环插入数据
var obj = $(); / /定义页面记录盒HTML格式的代码
var i = $(+ ARRS { J }。倍+); / /我的标签,我的定义是ThinkPHP直接时间的时间来输入和存储聊天时间数据。
var = $( );
P.html(ARRS {,}。内容); / /聊天
P.append(我);
VaR方法{J}. h3value = { }。名称; / /发作者
Obj.find(H3)。Html(h3value +:);
如果(h3value = =主机)
{ obj.find(H3)。AddClass(主持人);} / /将举办特殊显示
Obj.find(TD:最后的附加(P));
Chdiv.append(obj); / /添加表
}
chdiv.parent(。scrollTop)(chdiv。母)({ 0 }。scrollheight + 0); / /滚动至底部
}
}







功能getxmlhttpobject(AJAX) / /定义请求对象
{
VaR XMLHTTP = null;
尝试
{
Opera 8 +,Safari / Firefox。
XMLHTTP =新的XMLHttpRequest();
}
捕捉(e)
{
Internet Explorer
尝试
{
XMLHTTP =新的ActiveX对象(MSXML2. XMLHTTP );
}
捕捉(e)
{
XMLHTTP =新的ActiveX对象(微软。XMLHTTP );
}
}
返回XMLHTTP;
}



2,动作控制器,代码如下:


函数刷新(){
data_id美元=我('。data_id '); / /得到客人的身份
一美元=我('一'。);
/ / print_r(日期(当前H:我:S
如果(!data_id美元)
此错误()!;
$data = M(ksks_words_memoir );

/ / print_r(日期('y-m-d H:我:',一美元));
如果(!为数据)
此错误()初始化数据失败!;
/ /美元美元的话=数据->哪里(阵列('dataid ' = $ data_id))->顺序(时间(ASC)->选择);
//print_r ($data->where (array ('time'= $lasttime)) (->select));
在时间的} = {美元阵列('gt ',一美元);
$ =;
/ / print_r(日期(当前H:我:S
$ =;
$ =(数组);要返回的数组
$ I = 0;
foreach(美元的话,美元的话)
{
{我} {数据美元美元美元'name' } = { }字'name';
{我} {数据美元美元美元'content' } = { 'content' }字;
{我} {数据美元美元'times} =日期('y-m-d H:我:'时间' },{ $字);
$lasttime = $word{'time'};
$ i = $ i + 1;
}
setcookie('lasttime ',一美元);
数据json_encode美元=(美元数据);
此缓存();
回波数据;
}




3,聊天页面,代码如下:




类演示者:

{ $ VO。内容} { $ VO。时间|日期=当前H:我:S