成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

ThinkPHP中的客戶端通信怎么利用ajax與Mysql實(shí)現(xiàn)-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)ThinkPHP中的客戶端通信怎么利用ajax與Mysql實(shí)現(xiàn),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供長(zhǎng)安網(wǎng)站建設(shè)、長(zhǎng)安做網(wǎng)站、長(zhǎng)安網(wǎng)站設(shè)計(jì)、長(zhǎng)安網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、長(zhǎng)安企業(yè)網(wǎng)站模板建站服務(wù),十余年長(zhǎng)安做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

具體如下:

1、使用js的ajax局部刷新功能,每次刷新將數(shù)據(jù)庫(kù)中讀取出的新記錄插入到頁(yè)面的顯示區(qū)域,代碼如下:

window.onload =setInterval(showWords1000);//加載完成之后開始執(zhí)行刷新功能
 function showWords()//刷新時(shí)被調(diào)用函數(shù),實(shí)現(xiàn)ajax請(qǐng)求
   { 
    xmlHttp=GetXmlHttpObject();//從自定義的函數(shù)中獲取請(qǐng)求對(duì)象。
    if (xmlHttp==null)
    {
     alert ("Browser does not support HTTP Request")
     return;
    }
    var url="index.php?g=Ksks&m=Comments&a=refresh";//要請(qǐng)求的路徑使用shuipfcms框架,所以g是分組,m是action控制器,a是模板
    url=url+"&data_id="+$("#data_id").val();//接上,data_id傳的參數(shù),用于查詢數(shù)據(jù)庫(kù)的id
    url=url+"&lasttime="+$("i").last().siblings('input').val();//lasttime是頁(yè)面顯示數(shù)據(jù)的最后一個(gè)記錄的時(shí)間戳,查找時(shí)根據(jù)大于這個(gè)時(shí)間戳的條件查找
    xmlHttp.onreadystatechange=stateChanged;//響應(yīng)狀態(tài)改變時(shí)調(diào)用的函數(shù)
    xmlHttp.open("GET",url,true);//使用get方法提交
    xmlHttp.send();//上面?zhèn)鲄⒅?,這句可要可不要
   }
   function stateChanged() //實(shí)現(xiàn)向頁(yè)面插入數(shù)據(jù)功能
   { 
   var str =""; 
    if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
    { 
     eval("var arrs="+xmlHttp.responseText);//獲取由action響應(yīng)輸出的數(shù)據(jù),因?yàn)閿?shù)據(jù)室php數(shù)組格式,需用eval或json轉(zhuǎn)化成js數(shù)組格式
     var chdiv=$("#conversation_history");//通信聊天記錄框
     for(var j=0;j<arrs.length;j++){//循環(huán)插入數(shù)據(jù)
        var obj=$("<tr><td><h4></h4></td><td></td></tr>");//定義頁(yè)面當(dāng)中記錄框的html格式代碼
    var i=$("<i>&nbsp;&nbsp;"+arrs[j].times+"</i><input type='hidden' value='"+arrs[j].times+"'>");//i標(biāo)簽i為thinkphp定義的直接將時(shí)間輸出到input隱藏并且存儲(chǔ)得到數(shù)據(jù)里面的聊天發(fā)送時(shí)間
    var p=$("<p></p>");
    p.html(arrs[j].content);//聊天內(nèi)容
    p.append(i);
    var h4value=arrs[j].name;//發(fā)送的作者
    obj.find("h4").html(h4value+":");
    if(h4value=="主持人")
    {obj.find("h4").addClass("presenter");}//主持人會(huì)特別顯示
    obj.find("td:last").append(p);
        chdiv.append(obj);//追加到table里面
     }
     chdiv.parent().scrollTop(chdiv.parent()[0].scrollHeight+0);//滾動(dòng)到底部
    } 
   }
 function GetXmlHttpObject()//定義ajax請(qǐng)求對(duì)象
   {
    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("初始化數(shù)據(jù)失??!");
   //$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();//要返回的數(shù)組
   $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、聊天頁(yè)面,代碼如下:

<volist name="words" id="vo">
<tr>
<td><h4 <if condition="$vo['name']=='主持人'">class="presenter"</if>>{$vo.name}:</h4></td>
<td>
<div>{$vo.content}<i>&nbsp;&nbsp;{$vo.time|date="Y-m-d H:i:s",###}</i>
       <input type="hidden" name="time" value="{$vo.time}">
</div>
</td>
</tr>
</volist>

關(guān)于ThinkPHP中的客戶端通信怎么利用ajax與Mysql實(shí)現(xiàn)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

網(wǎng)站標(biāo)題:ThinkPHP中的客戶端通信怎么利用ajax與Mysql實(shí)現(xiàn)-創(chuàng)新互聯(lián)
文章源于:http://jinyejixie.com/article30/dedspo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站策劃微信公眾號(hào)、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
杭锦后旗| 石景山区| 建昌县| 垦利县| 彰化县| 文安县| 阿拉善左旗| 县级市| 凤山市| 怀远县| 微博| 牙克石市| 东方市| 海林市| 三都| 台前县| 镇平县| 彰化县| 荣成市| 家居| 梁河县| 中牟县| 宝鸡市| 甘南县| 英德市| 哈巴河县| 安康市| 游戏| 滁州市| 南溪县| 富平县| 都兰县| 六盘水市| 新绛县| 定兴县| 长汀县| 扬州市| 房山区| 惠水县| 开平市| 上饶市|