ホームページ > php教程 > php手册 > PHP MySql を使用してチャット ルームを作成する

PHP MySql を使用してチャット ルームを作成する

WBOY
リリース: 2016-06-13 12:38:24
オリジナル
753 人が閲覧しました

こんにちは、みんな!前回、PHP を使用してファイルを操作するチャット ルームについて書きましたが、当然ながら、画面を更新するたびにひどい状態になります。長い間考えていましたが、リフレッシュせずに音声情報を取得する方法はありますか?この効果は、もう 1 つのフレームワークを使用することで実現できます。つまり、getmsg に情報を取得させ、毎回取得した情報が最新であることを確認します。つまり、前回取得した音声は必要ありません。 . 前回の編集 問題は、情報を取得するたびにそれが繰り返され、効果的ではないことです。
私の設計上のアイデアは、すべてのスピーチをサーバーに送信し、それをデータベースに保存することです。Getmsg は数秒ごとにサーバーにアクセスして最新のスピーチ データを取得し、最後のスピーチが取得されたことを確認します。それを削除し、削除したスピーチをスピーチ表示専用のウィンドウ (listmsg) に重ね合わせます。このようにすると、listmsg ウィンドウを更新する必要がなくなります。さらに、音声情報が継続的に追加されるだけで、非常に良い効果が得られます。
あるフレームに情報を追加する方法。 ?このアイデアは JavaScript を使用して実現できます。

もちろん、mysql で 2 つのテーブルを構築する必要があります。1 つのテーブルは音声情報を保存するために使用され、もう 1 つのテーブルは複数のオンライン情報を保存するために使用されます。人数をカウントするときは、60 秒ごとに更新し、1 分前の発言を削除し、特定の発言者が長期間発言していないかどうかを確認します。そうであれば、サブセクションを削除します。表の内容は非常に単純なので、ここに記述する必要はありません。プログラムを見ればわかります。このプログラムは、オンラインでもオフラインでもテストすると非常にうまく機能します。
表の名前は:chat と chat_getmsg

if(!isset($username))
$username="guest";
$conid=mysql_connect("localhost","yourcounter","password");
mysql_select_db("yourdabase",$conid);
$dstr=date("YmdHis");
$sql="chat_getmsg (ユーザー名,shijian) 値を挿入 ('$ユーザー名','$dstr')";
mysql_query($sql,$conid);
$sql="update chat_getmsg set shijian='$dstr' where username='$username'";
mysql_query($sql,$conid);
mysql_close($conid);
?>

<頭>
無題のドキュメント


  
  



  
n"; ?>
n"; ?>

フレームセット>
<body bgcolor="#FFFFFF"> <br><br></body>


if(!isset($username))
$username="guest";
if(!isset($yanse))
$yanse="blue";
if(!isset($objectname))
$objectname="大家";
?>

<頭>
無題のドキュメント




<ボディ bgcolor="#ff3333">

クラス="ノーマルフォント">

  


      

  




颜色:

発行文:


>


对:
>
回帰



<スクリプト言語="JavaScript">



if(isset($username)&&isset($fayan)){
$conid=mysql_connect("localhost","yourcount","yourpassword");
mysql_select_db("データベース",$conid);
$sql="チャット (ユーザー名,オブジェクト名,アクション,メッセージ,カラー) の値を挿入 ("$ユーザー名","$オブジェクト名","NO","$fayan","$yanse")";
mysql_query($sql,$conid);
mysql_close($conid);
}
?>



無題のドキュメント

$conid=mysql_pconnect("localhost","yourcount","password");
mysql_select_db("データベース",$conid);

if(!isset($username))
$username="getmsg";  
$dt=time();   
$newdate=date("YmdHis",$dt);
$fromdate=date("YmdHis",$dt-6);;

$sql="shijian のチャットから名前、msg、アクション、オブジェクト名、shijian、色としてユーザー名を選択>="$fromdate"";
$res=mysql_query($sql,$conid);

echo "n";
エコー "n";

echo "n";
?>







Untitled Document

if(!isset($username))
$username="guest";
echo "n";
echo "n";

echo "n";
?>






Untitled Document







欢迎光临






<スクリプト言語="JavaScript">
;






無題のドキュメント





<ボディ bgcolor="#33ff00" >

在回線人数


if(!isset($username))
$username="guest";
$dt=time();   
$newdate=date("YmdHis",$dt);
$fromdate=date("YmdHis",$dt-200);
$linkid=mysql_connect("localhost","yourcount","password");
mysql_select_db("データベース",$linkid);
$sql="update chat_getmsg set shijian="$newdate" where username="$username"";
mysql_query($sql,$linkid);
$sql="chat_getmsg where shijian からユーザー名を選択>="$fromdate"";
$res=mysql_query($sql,$linkid);  
while(list($username)=mysql_fetch_row($res)){
echo "$username$fromdate=date("YmdHis",$dt-100);
$sql="shijian のチャットから削除<="$fromdate"";
mysql_query($sql,$linkid);
mysql_close($linkid);
}
?>

<スクリプト言語="JavaScript">
;





【本文版权归作者与奥索网共同拥有,如果转下,请注明作者及出处】
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート