首先来看一下我已经实现的效果图:

消费者页面:(本篇随笔)

(1)会显示店主的头像

(2)当前用户发送信息显示在右侧,接受的信息,显示在左侧

店主或客服页面:(下一篇随笔)

(1)在左侧有一个列表 ,会显示所有与店主对话的顾客;该列表可以移动;有新消息时会提示;也可以清空该聊天记录

(2)点击列表里的顾客进入右边的对话框界面,显示与该顾客的聊天信息

在实现功能之前,来说一下我用到的两张表:

解释一下:bkid在此处没有用到;isok列是用来判断消息是否已读,未读为0;

现在,来说一下步骤:(分前台和后台两部分)

在这篇随笔中我们首先来说一下前台页面是如何实现的:(李四登录)

用session存取一下lisi;便于后面从user表中取数据

1、布局页面代码以及读取数据代码:

<!--中间内容--><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);">//取店主用户名,显示店主的头像和姓名        <?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'>亲爱的店主</div>               <div style='height:50px;width:500px;text-align:left;'>个性签名:<input type='text' placeholder='不读书怎么对得起今天!' style='width:280px'>                                 </div></div>"; }           ?></div><div style="height: 300px;width: 620px;overflow: auto;overflow-x:hidden ;">                                 //获取session里存取的uid;<?php$uid = $_SESSION["uid"];                  $sql3 = "select * from users where uid='{$uid}'";$arr3 = $db->query($sql3);                    //从对话表里读取店主张三和李四所有的对话信息,并按对话时间顺序排序    $sql2="select * from duihua where uid='{$uid}' or jsid='{$uid}' order by dhtime";                  $arr2= $db->query($sql2);foreach($arr2 as $n){                                //如果是店主,则信息要显示在左侧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>";}    //如果是李四,则显示在右侧             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"--><form role="form"><div class="form-group"><textarea class="form-control" rows="3" id="words"></textarea>  //输入发送内容</div></form><div id="fs" style="height: 50px; width: 600px;text-align: right; padding-right: 50px;"><button type="button" class="btn btn-success fasong">发送</button>     //点击按钮发送</div></div>            </div> <!--id=zhongjian-->

  

实现效果:

2、点击发送时的ajax代码:

<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";    }else{alert("发送内容不能为空!");}}})})    $("#dh").click(function(){$.ajax({url:"qt-yidu-cl.php",dataType:"TEXT",success: function(data){
//              alert(data);                    window.location.href="qt-dh.php";                }           })})</script>

  

 3、qt-speak-cl.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);
}
else
{   echo "发送内容不能为空!";
}
?>

 如果发送内容为空,则会提示“发送内容不能为空!”

 

前台页面会随不同用户登录显示不同的信息;让王五登录看看:

未完待续,后台页面的实现看下一篇随笔中~~~

转载于:https://www.cnblogs.com/chenguanai/p/7018835.html

用php+mysql+ajax实现淘宝客服或阿里旺旺聊天功能 之 前台页面相关推荐

  1. 用php+mysql+ajax实现淘宝客服或阿里旺旺聊天功能 之 后台页面

    在上一篇随笔中,我们已经看了如何实现前台的对话功能:前台我限定了店主只有一人,店铺只有一个,所有比较单一,但后台就不一样了,而后台更像是我们常见的聊天软件:当然,前台也应该实现这种效果,但原理懂了,可 ...

  2. python实现千牛客服自动回复语_淘宝客服自动回复语录(客服自动回复大全)

    淘宝客服自动回复语录(客服自动回复大全) 2020-12-05 09:42:32 共7个回答 谁能帮我弄下淘宝的自动回复.就是第一次收到买家信息自动回复什么语句比较好.我离开时回复什么语句比较好 鼠标 ...

  3. 淘宝客服的逆袭之路:拼搏六个月,从6K到12K,我哭了......

    个人基本介绍 我之前的行业是淘宝客服,薪资不高6000左右,没有五险一金的那种,不包吃,不包住,一个月下来去掉吃住,基本上不剩什么钱,考虑转行主要是看python行业薪资高. 我与python之缘 决 ...

  4. 淘宝客服的逆袭之路:拼搏6个月,从6K到12K,我哭了……

    个人基本介绍 我之前的行业是淘宝客服,薪资不高6000左右,没有五险一金的那种,不包吃,不包住,一个月下来去掉吃住,基本上不剩什么钱,考虑转行主要是看python行业薪资高. 我与python之缘 决 ...

  5. 淘宝客服的逆袭之路:拼搏6个月,从6K到12K,我哭了......

    个人基本介绍 我之前的行业是淘宝客服,薪资不高6000左右,没有五险一金的那种,不包吃,不包住,一个月下来去掉吃住,基本上不剩什么钱,考虑转行主要是看python行业薪资高. 我与python之缘 决 ...

  6. 淘宝客服如何判定骂人?骂人怎么投诉?

    淘宝客服是淘宝店铺的重要工作人员之一,想要做好淘宝客服并不是容易的事情,医院每天都需要接待很多的客户,且每个客户的性格也是不一样的,那么淘宝客服骂人是怎么评判的呢? 如果淘宝客服有骂人的言论,那么基本 ...

  7. Python 模拟淘宝客服小蜜自动回复

    首先,新建一个文本文件做准备: 订单|如果您有任何订单问题,可以登录淘宝账号,点击"我的订单",查看订单详情. 物流|如果您有任何订单问题,可以登录淘宝账号,点击"我的订 ...

  8. 淘宝客服快捷回复技巧

    快捷回复对于淘宝客服来说非常重要,对于店铺的成交和转化率有着直接影响,淘宝客服要掌握一定的快捷回复技巧. ​ 前言 快捷回复对于淘宝客服来说非常重要,对于店铺的成交和转化率有着直接影响.现在是快节奏时 ...

  9. 【淘宝客服的制胜法宝:投诉处理篇】

    [淘宝客服的制胜法宝:投诉处理篇] 投诉处理中常见的几种问题: 1.虚假发货, 2.延迟发货, 3.违背承诺, 4.未收到货, 5.七天无理由退货. 投诉处理中常见的几种客户: 1.古怪的客户, 2. ...

最新文章

  1. 在Java中使用Protocol Buffers
  2. 深度学习之基于CNN实现天气识别
  3. linux内核中分配4M以上大内存的方法
  4. [20170410]快速找回触发器内容.txt
  5. python爬虫加强版!!!!想爬哪个队伍就爬那个
  6. Android最佳安全应用程序已出炉,Google Play Protect曝大冷门
  7. Scala 基础(7)—— 函数字面量和一等函数
  8. 总纲篇:产品结构设计指导VII(本博客指引章节)
  9. 2022年 27 个最佳 UX/UI 设计灵感网站
  10. 01 ,线性代数 :二阶行列式,三阶行列式,排列,阶乘,逆序,逆序数,奇排列,偶排列,对换 :
  11. 合并pdf文件-批量打印
  12. UX美即好用效应 Aesthetic Usability Effect
  13. Win32SDK基本 RC资源的使用
  14. Python装逼神器,Python实现一键批量扣图
  15. python输出用逗号隔开的数字_python,得出一些数字后,怎样不输出最后一个逗号...
  16. E001-CRC校验及软硬件实现
  17. Php Adodb 初探
  18. 软件测试bug不能重现,如何看待那些不能重现的bug
  19. Java代码审计怎么做?
  20. VB程序逆向反汇编常见的函数

热门文章

  1. 删除数据后无法恢复的固态盘
  2. k8s下使用local-path-provisioner进行本地存储
  3. S3C2440——使用URAT0查询方式发送和接收字符串
  4. 德国的StemmerImaging公司功能强大的机器视觉软件CVB
  5. 高德地图左上角或任意位置增加自定义按钮,一刷新按钮消失问题
  6. 搜狗输入法出现中文状态下英文解决办法
  7. [Shapefile C Library]读写shp图形(C++.net Wapper)
  8. python快速下载_Python:快速下载多个文件
  9. Vue项目中如何引入Toast插件
  10. iOS 高刷屏监控 + 优化:从理论到实践全面解析