php怎么实现聊天功能
1、在前端使用Ajax定时轮询访问php脚本,php再进行查询聊天数据进行返回给前端,最后前端将其进行渲染;
代码示例:
聊天室$(function(){
$("#post").click(function(){
var content=$("#content").val();
if(!$.trim(content)){
alert('请填写内容');
return false;
}
$("#content").val("");
$.post("ajax.php", {content:content});});
})
function getData(msg){
if(msg == undefined)
{
msg = '';
}
$.post("get.php",{"msg":msg},function(data){
//var myjson = eval("("+data+")");
if(data){
var chatcontent = '';
var obj = eval('('+data+')');
$.each(obj,function(key,val){
chatcontent += "
chatcontent += "
})
$("#chatshow").html(chatcontent);
}
getData();
})
}
// function getUser(msg){
// if(msg == undefined){
// msg = '';
// }
// $.post("getuser.php",{"msg":msg},function(data){
// //var myjson = eval("("+data+")");
// if(data){
// var chatcontent = '';
// var obj = eval('('+data+')');
// $.each(obj,function(key,val){
// chatcontent += "
// chatcontent += "
// })
// $("#chatshow").html(chatcontent);
// }
// getData();
// })
// }
getData("one");
// $(function(){
// $("#userlist p").click(function(){
// $("#content").val("@"+$(this).text()+" ");
// })
// })
// $(function(){
// $(document).keypress(function(e){
// if(e.ctrlKey && e.which == 13 || e.which == 10) {
// var content=$("#content").val();
// if(!$.trim(content)){
// alert('请填写内容');
// return false;
// }
// $("#content").val("");
// $.post("ajax.php", {content:content});
// }
// })
// //alert(event.clientX+document.body.clientWidth);
// })
/*window.οnbefοreunlοad=function (){
//return("===οnbefοreunlοad===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
return("你关闭了浏览器");
}else{
return(document.body.clientWidth);
}
} */
#chat{margin:0 auto;}
#chatshow{width:500px;height:400px;overflow:auto;border:1px solid #ccc;float:left;}
#userlist{width:100px;height:400px;overflow:auto;border:1px solid #ccc;float:left;margin-right:2px;}
#userlist p{color:#0F0; cursor:pointer;}
.clearboth{clear:both;}
.username{font-weight:bold;color:#00F;font-size:12px;margin-bottom:3px;margin-top:8px;}
// $dsn = "mysql:host=localhost;dbname=test;charset=utf8'";
// $db = new PDO($dsn, 'root', 'root');
$db = new PDO('mysql:dbname=test;host=127.0.0.1;charset=utf8', 'root', 'adminroot');
$rs = $db->prepare("select * from chat where is_login = '1'");
$rs->execute();
while($row = $rs->fetch()){
echo '
'.$row['username'].'
';}
?>
/*session_start();
$mem = new Memcache;
$mem->connect("localhost",11211);
if(isset($_POST['content'])){
$con['u