激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - ThinkPHP結合ajax、Mysql實現的客戶端通信功能代碼示例

ThinkPHP結合ajax、Mysql實現的客戶端通信功能代碼示例

2020-07-10 20:11shichen2014 PHP教程

這篇文章主要介紹了ThinkPHP結合ajax、Mysql實現的客戶端通信功能,需要的朋友可以參考下

該實例通過ThinkPHP結合Ajax與mysql實現了客戶端的通信功能,具體如下:

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

?
1
window.onload =setInterval(showWords1000);//加載完成之后開始執行刷新功能
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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傳的參數,用于查詢數據庫的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>&nbsp;&nbsp;"+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);//滾動到底部
   }
  }

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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控制器,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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、聊天頁面,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
<volist name="words" id="vo">
<tr>
<td><h3 <if condition="$vo['name']=='主持人'">class="presenter"</if>>{$vo.name}:</h3></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>

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜影院在线免费观看 | 成人羞羞在线观看网站 | 99r国产精品 | 成人免费毛片一 | 91美女啪啪 | 毛片视频网站在线观看 | 欧美一级做性受免费大片免费 | 91看片在线观看视频 | 亚洲国产精品久久久久久久久 | 国产欧美亚洲精品 | 成人一级在线 | 国内毛片视频 | 曰韩在线视频 | av在线中文 | 亚洲国产精品久久久久久久久久 | 少妇一级淫片免费放4p | 国产色视频免费 | 成人资源在线 | 亚洲一区二区中文字幕在线观看 | 在线观看免费视频麻豆 | 久草在线资源视频 | 欧美成人精品欧美一级乱黄 | 日本黄色一级电影 | 在火车上摸两乳爽的大叫 | 免费一级片网站 | 成年人毛片视频 | 国人精品视频在线观看 | 成人毛片久久 | 高清国产福利 | 精品一区二区三区免费 | 午夜视频在线免费观看 | 日本欧美一区二区三区视频麻豆 | 黄色片免费看网站 | 久久久久av69精品 | 日韩欧美中文字幕视频 | 午夜神马电影网 | 亚洲综合无码一区二区 | 精品国产精品久久 | 亚洲精品v天堂中文字幕 | 国产精品成人一区二区三区吃奶 | 99久久精品免费看国产小宝寻花 |