【www.gdgbn.com--php与数据库】
ajax无刷新聊天室这里是用php+ ajax实现聊天室的
数据库结构sql:
CREATE TABLE `message` (
`mid` int(20) NOT NULL auto_increment,
`msg` varchar(255) NOT NULL,
`user` varchar(50) NOT NULL,
`time` int(10) NOT NULL,
PRIMARY KEY (`mid`),
KEY `user` (`user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=161 ;
CREATE TABLE `session` (
`id` varchar(32) NOT NULL,
`time` int(10) NOT NULL,
`timenow` int(10) NOT NULL,
`data` text NOT NULL,
`ip` varchar(15) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
index.html文件代码.
<script LANGUAGE="JavaScript" src="js/jquery.js"></script>
Loading...
<script LANGUAGE="JavaScript">
</script>
聊天页面.chat.html
require_once("config.php");
//程序设计:℃冻番茄 QQ:7279915 E-mail:web@ye55.com [url=http://www.phpd.cn]www.phpd.cn[/url]
$fist=$db->getfirst("select `mid` from `message` order by `mid` desc ");
$mid=$fist["mid"]-40; //初始化聊天记录条数
$mid=$mid<=0?0:$mid;
$mid=0;
?>
<script LANGUAGE="JavaScript">
</script>
最后就是php页面了,用来处理用户发布的数据.
require_once("config.php");
////程序设计:℃冻番茄 QQ:7279915
//发信息
if($_GET["act"]=="send"){
$msg=$_POST["msg"];
$user=$_POST["user"];
if(empty($msg) || empty($user)){
$return["msg"]="聊天内容或昵称不能为空";
}else{
$time=time();
if($db->insert("insert into `message` (`msg`,`user`,`time`) values ("$msg","$user","$time")")){
$return["msg"]=true;
}else{
$return["msg"]="err";
}
}
echo json_encode($return);
}elseif($_GET["act"]=="display"){
if(isset($_POST["mid"])){
$s=" where `mid`>"".$_POST["mid"]."" ";
}else{
$s="";
}
$sql="select * from `message` $s order by `mid`";
$total=$db->getcount($sql);
if($total==0){
$a=0;
}else{
$result=$db->query($sql);
while($row=$db->getarray($result)){
$row["time1"]=date("Y-m-d H:i:s",$row["time"]);
$a[]=$row;
$b=$row["mid"];
}
}
$ccc=array("list"=>$a,"mid"=>$b);
echo json_encode($ccc);
}
?>