ホームページ >バックエンド開発 >PHPチュートリアル >PHP+MySql_PHP を使用してチャット ルームを作成するチュートリアル
こんにちは、みんな!前回、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="chat_getmsg を更新 set shijian='$dstr' where username='$username'";
mysql_query($sql,$conid);
mysql_close($conid);
?>
<頭>