Chinaunix首页 | 论坛 | 博客
  • 博客访问: 242672
  • 博文数量: 69
  • 博客积分: 1415
  • 博客等级: 上尉
  • 技术积分: 570
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-13 16:57
文章分类

全部博文(69)

文章存档

2011年(1)

2010年(5)

2009年(63)

我的朋友

分类:

2009-07-14 17:24:54

《精通PHP+MySQL应用开发》中的简易聊天室的代码,在我机器上测试成功,个别地方有修改。
系统 ubuntu 9.04


/////////////db.sql数据库配置文件/////////
 
CREATE DATABASE my_chat ;
 
 
CREATE TABLE chat (
cid INT NOT NULL AUTO_INCREMENT ,
author VARCHAR( 50 ) NOT NULL ,
create_time TIME NOT NULL ,
text BLOB NOT NULL ,
PRIMARY KEY ( cid ) 
);


//////////////login.php/////////

 

   
        用户登录
   
   
       

       

欢迎来到聊天室


       

请输入你的昵称


       

           
           
       

   

   


//////////main.php//////////////
    session_start();                                      
    $user_name=$_POST["nick"]; 
    session_register("user_name");         
?>
 

 

    聊天室
       
           
           
       



////////////speak.php//////////////////




   
        发言
   
   
                require_once("sys_conf.inc");    //系统配置文件,包含数据库配置信息
         
        //发言
        if(isset($_POST["text"]))
        {
            //连接数据库
            $link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD);             
            mysql_select_db($DBNAME);     //选择数据库my_chat
            $time=date("h:i:s");
            $author=$_SESSION["user_name"];
            $text=$_POST["text"];
            $str="INSERT INTO chat(create_time,author,text) values('$time','$author','$text')" ; 
            mysql_query($str,$link_id); //送出发言到数据库
            mysql_close($link_id);
        }
        ?>
       
       

           
           
       

   



///////////chat_display.php////////////////////


   
        显示用户留言
       
   
   
                    require_once("sys_conf.inc");            //系统配置文件,包含数据库配置信息
             
            //连接数据库
            $link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD);             
            mysql_select_db($DBNAME);                 //选择数据库my_chat
            $str="select * from chat ORDER BY create_time;"; //按时间查找所有聊天信息
            $result=mysql_query($str, $link_id); //执行查询
            $rows=mysql_num_rows($result); //取得查询结果的记录笔数
 
            //取得最后15个发言,并显示
            @mysql_data_seek($result,$rows-15); //移动记录指针到前15笔记录
            if ($rows<15) $l=$rows; else $l=15; //若记录总数小于15,则最多为该记录数
            for ($i=1;$i<=$l;$i++) 
            {
                list($cid,$author,$create_time,$text)=mysql_fetch_row($result);
                echo $create_time; echo " ";echo "[".$author."]"; echo "说到:" ; echo $text; echo "
";
            }
 
            //清除库中过时的数据
            @mysql_data_seek($result,$rows-20); //移动记录指针到前20笔记录
            list($limtime)=mysql_fetch_row($result);
            $str="DELETE FROM chat WHERE create_time<'$limtime';" ;
            $result=mysql_query($str,$link_id); //执行查询字符串,库中只留最后20个记录
             
            //关闭数据库
            mysql_close($link_id);
        ?>
   



/////////////sys_conf.inc系统配置文件////////////////////

 
  $DBHOST="localhost";
  $DBUSER="root";
  $DBPWD="ivan";
  $DBNAME="my_chat";
?>
阅读(981) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~