基于PHP MySQL的聊天室設計(2)_PHP教程
推薦:PHP新手總結的PHP基礎知識看了些PHP的基礎知識,自己在這里總結下: 1、在HTML嵌入PHP腳本有三種辦法: 以下為引用的內容: <scriptlanguage="php"
2.3 顯示發言cdisplay.php
本代碼段的任務是將表chat中的數據取出,顯示在頁框中。每次刷新時,取數據庫中最近的15條發言。同時,為防止數據庫無限增大,需設計刪除陳舊數據的功能。代碼如下
<html>
<head>
<title>顯示用戶發言</title>
<meta http-equiv="refresh" content="5;url=cdisplay.php">
</head>
<body>
<?
$link_ID=mysql_connect("main","root");
//鏈接Mysql服務器 服務器名為main,管理員名為root
mysql_select_db("abc"); //選擇數據庫
$str="select * from chat ORDER BY chtime;" ; //查詢字符串
$result=mysql_query($str, $link_ID); //送出查詢
$rows=mysql_num_rows($result); //取得查詢結果的記錄筆數
//取得最后15筆發言,并顯示
@mysql_data_seek($resut,$rows-15); //移動記錄指針到前15筆記錄
if ($rows<15) $l=$rows; else $l=15; //記錄總數小于15,則最多為該記錄數
for ($i=1;$i<=$l;$i ) {
list($chtime,$nick,$words)=mysql_fetch_row($result);
echo $chtime; echo " ";echo $nick; echo":" ; echo $words; echo "<BR>";
}
//清除庫中過時的數據
@mysql_data_seek($result,$rows-20); //移動記錄指針到前20筆記錄
list($limtime)=mysql_fetch_row($result);
$str="DELETE FROM chat WHERE chtime<'$limtime' ;" ;
$result=mysql_query($str,$link_ID); //送出查詢字符串,庫中只留前20個記錄
mysql_close($link_ID);
?>
</body>
</html>
2.4 送出發言到數據庫speak.php
<html>
<head>
<title>發言</title>
</head>
<body>
<?
If ($words)
{ $link_ID=mysql_connect("main","root");
mysql_select_db("abc"); //數據庫名為abc
$time=date(y).date(m).date(d).date(h).date(i).(date(s); //取得當前時間
$str="INSERT INTO chat(chtime,nick,words) values
('$time','$nick','$words');" ;
mysql_query($str,$link_ID); //送出發言到數據庫
mysql_close($link_ID);
}
?>
//輸入發言的表單
<form action="speak.php" method="post" target=" _self">
<input type="text" name="words" cols="20">
<input type="submit" value="發言">
</form>
</body>
</html>
完成以上工作后,一個簡單的聊天室制作就完成了。當然,設計者可以根據個人愛好做一些個性化設計,如增加一個頁框,顯示當前聊天室人員名單、增加發言表情、取得發言者IP、進一步美化頁面等等。
分享:大型系統上PHP令人不爽的九大原因我在過去的四年里一直致力于PHP應用的開發。PHP確實十分容易編寫。但是PHP也有一些十分嚴重的缺陷。 下面我會給出我的理由,為什么PHP不適合于比小型業余網站更大的網站。 1. 對遞歸的
- 相關鏈接:
- 教程說明:
PHP教程-基于PHP MySQL的聊天室設計(2)
。