《PHP教程:PHP+Mysql+Ajax實(shí)現(xiàn)淘寶客服或阿里旺旺聊天功能(前臺(tái)頁(yè)面)》要點(diǎn):
本文介紹了PHP教程:PHP+Mysql+Ajax實(shí)現(xiàn)淘寶客服或阿里旺旺聊天功能(前臺(tái)頁(yè)面),希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
PHP編程首先來(lái)看一下我已經(jīng)實(shí)現(xiàn)的效果圖:
PHP編程消費(fèi)者頁(yè)面:(本篇隨筆)
PHP編程(1)會(huì)顯示店主的頭像
PHP編程(2)當(dāng)前用戶(hù)發(fā)送信息顯示在右側(cè),接受的信息,顯示在左側(cè)
PHP編程
PHP編程店主或客服頁(yè)面:(下一篇隨筆)
PHP編程(1)在左側(cè)有一個(gè)列表 ,會(huì)顯示所有與店主對(duì)話(huà)的顧客;該列表可以移動(dòng);有新消息時(shí)會(huì)提示;也可以清空該聊天記錄
PHP編程(2)點(diǎn)擊列表里的顧客進(jìn)入右邊的對(duì)話(huà)框界面,顯示與該顧客的聊天信息
PHP編程
PHP編程?在實(shí)現(xiàn)功能之前,來(lái)說(shuō)一下我用到的兩張表:
PHP編程
PHP編程?解釋一下:bkid在此處沒(méi)有用到;isok列是用來(lái)判斷消息是否已讀,未讀為0;
PHP編程現(xiàn)在,來(lái)說(shuō)一下步驟:(分前臺(tái)和后臺(tái)兩部分)
PHP編程在這篇隨筆中我們首先來(lái)說(shuō)一下前臺(tái)頁(yè)面是如何實(shí)現(xiàn)的:(李四登錄)
PHP編程
PHP編程用session存取一下lisi;便于后面從user表中取數(shù)據(jù)
PHP編程1、布局頁(yè)面代碼以及讀取數(shù)據(jù)代碼:
PHP編程
<!--中間內(nèi)容-->
<div id="zhongjian">
<div id="kuangjia" style="height: 550px;width: 620px; margin: 0px auto;border: 1px solid gainsboro;background-color: white;">
<div id="neirong" style="height: 400px;width: 600px;">
<div style="height: 100px;width: 620px;background-image: url(../img/bj4.jpg);">
//取店主用戶(hù)名,顯示店主的頭像和姓名<br> <?php
$uid = $_SESSION["uid"];
$sql = "select * from users where uid='zhangsan'";
$arr = $db->query($sql);
foreach($arr as $v)
{
echo "
<div style='height:100px;float:left;width:100px;float:left;'>
<div style='border:2px solid grey;height:84px;width:84px;margin:7px auto; border-radius:10px;overflow:hidden'>
<img src='{$v[6]}' height='80px' width='80px'/>
</div>
</div>
<div style='height:100px;width:500px;float:left;'>
<div style='height:50px;width:500px;text-align:left;line-height:50px'>
親愛(ài)的店主
</div>
<div style='height:50px;width:500px;text-align:left;'>個(gè)性簽名:
<input type='text' placeholder='不讀書(shū)怎么對(duì)得起今天!' style='width:280px'>
</div>
</div>
";
}
?>
</div>
<div style="height: 300px;width: 620px;overflow: auto;overflow-x:hidden ;"><br> //獲取session里存取的uid;
<?php
$uid = $_SESSION["uid"];
$sql3 = "select * from users where uid='{$uid}'";
$arr3 = $db->query($sql3);<br> //從對(duì)話(huà)表里讀取店主張三和李四所有的對(duì)話(huà)信息,并按對(duì)話(huà)時(shí)間順序排序
$sql2="select * from duihua where uid='{$uid}' or jsid='{$uid}' order by dhtime";
$arr2= $db->query($sql2);
foreach($arr2 as $n)
{<br> //如果是店主,則信息要顯示在左側(cè)
if($n[2]=='zhangsan')
{
echo "<div style='height:100px;width:600px;'>
<div style='height:100px;width:250px;float:left'>
<div style='height:20px;width:250px;font-size:13px;padding-left:20px'>
{$n[6]}</div>
<div style='height:80px;width:50px;float:left'>
<div style='height:50px;width:50px;margin:0px auto; border-radius:90px;overflow:hidden;'>
<img src='{$v[6]}' height='50px' width='50px'/>
</div>
</div>
<div style='min-height:40px;width:200px;float:left;background-color:cornflowerblue; border-bottom-right-radius: 10px;border-top-right-radius: 10px;border-top-left-radius: 40px;border-bottom-left-radius: 40px;'>
<p style='padding-left:20px; line-height:40px'>
{$n[4]}</p>
</div>
</div></div>";
} <br>//如果是李四,則顯示在右側(cè)
if($n[2]==$uid)
{
echo "<div style='height:100px;width:600px;margin-right:20px'>
<div style='height:100px;width:250px; float:right'>
<div style='height:20px;width:250px;font-size:13px;padding-right:20px'>
{$n[6]}</div>
<div style='height:80px;width:50px;float:right'>
<div style='height:50px;width:50px;margin:0px auto; border-radius:90px;overflow:hidden;'>
<img src='{$arr3[0][6]}' height='50px' width='50px'/>
</div>
</div>
<div style='min-height:40px;width:200px;float:right;background-color:pink; border-bottom-left-radius: 10px;border-top-left-radius: 10px;border-top-right-radius: 40px;border-bottom-right-radius: 40px;'>
<p style='padding-left:20px; line-height:40px'>
{$n[4]}</p>
</div>
</div></div>";
}
}
?>
</div>
</div> <!--id="neirong"--><br>
<form role="form">
<div class="form-group">
<textarea class="form-control" rows="3" id="words"></textarea> //輸入發(fā)送內(nèi)容
</div>
</form>
<div id="fs" style="height: 50px; width: 600px;text-align: right; padding-right: 50px;">
<button type="button" class="btn btn-success fasong">發(fā)送</button> //點(diǎn)擊按鈕發(fā)送
</div>
</div>
</div> <!--id=zhongjian-->
PHP編程實(shí)現(xiàn)效果:
PHP編程
PHP編程2、點(diǎn)擊發(fā)送時(shí)的ajax代碼:
PHP編程
<script>
$(".tc").click(function(){
$("#kuangjia").show();
})
$(".fasong").click(function(){
var nr=$("#words").val();
$.ajax({
url:"qt-speak-cl.php",
data:{words:nr},
type:"POST",
dataType:"TEXT",
success: function(data){
if(data==1)
{
window.location.href="qt-dh.php" rel="external nofollow" rel="external nofollow" ;
}
else{
alert("發(fā)送內(nèi)容不能為空!");
}
}
})
})
$("#dh").click(function(){
$.ajax({
url:"qt-yidu-cl.php",
dataType:"TEXT",
success: function(data){
// alert(data);
window.location.href="qt-dh.php" rel="external nofollow" rel="external nofollow" ;
}
})
})
</script>
PHP編程 3、qt-speak-cl.php頁(yè)面:
PHP編程
<?php
session_start();
require "DBDA.class.php";
$db = new DBDA();
$uid = $_SESSION["uid"];
$words =$_POST["words"];
$chtime=date("Y-m-d H:i:s",time());
$jieshou = "zhangsan";
if(!empty($words))
{
$sql="insert into duihua values ('','{$jieshou}','{$uid}','','{$words}',0,'{$chtime}')";
echo $db->query($sql,0);
<em id="__mceDel">}
else
{
echo "發(fā)送內(nèi)容不能為空!";
}
?>
</em>
PHP編程 如果發(fā)送內(nèi)容為空,則會(huì)提示“發(fā)送內(nèi)容不能為空!”
PHP編程
PHP編程前臺(tái)頁(yè)面會(huì)隨不同用戶(hù)登錄顯示不同的信息;讓王五登錄看看:
PHP編程
PHP編程以上所述是小編給大家介紹的PHP+Mysql+Ajax實(shí)現(xiàn)淘寶客服或阿里旺旺聊天功能(前臺(tái)頁(yè)面),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的.在此也非常感謝大家對(duì)維易PHP網(wǎng)站的支持!
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/625.html