こんにちは、みんな!前回、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);
?>
<頭>