2011-07-08 8 views
0

私の(MySQL)データベースにはいくつかの挿入が行われています。私がしたいことは、新しいレコードがデータベースに挿入されるたびに自動的に私のWebページをリフレッシュすることです(私はPHPを使用しています)。私は更新についての相対的な投稿を読むデータベースの挿入後にajaxを使用してWebページをリフレッシュするには

refresh the webpage on database updateしかし、それらの更新はウェブページから "行った"。

私はまた、別のポスト

https://stackoverflow.com/questions/6460297/automatically-refresh-the-webpage-just-after-a-new-database-entryを読んで、私はこれを行うことができます方法を見つけ出すませんでした。

提案がありますか?

+0

多分 'Comet'技術が役立ちます:http://en.wikipedia.org/wiki/Comet_%28programming%29 – rmflow

答えて

0

これは、あなたがそれあなたがページの最後のレコードのIDを送信する設定された間隔でサーバーにAJAX要求を実行するための

JavaScriptを使用者のsettimeout()機能行う方法です。最後のレコードのidが異なる場合は、Javascripts window.location.reload()関数を使用してページをリセットします。あなたはこれは悪いユーザーエクスペリエンスあるページに

をリフレッシュしたくないのはなぜ

。あなたはどこからでもページをリフレッシュさせたくありません。最良のアイデアは、現在のページの最新IDをサーバーに送信し、新しいIDを確認することです。新しいアイデアがある場合は、json経由でレコードを送り返し、結果テーブルの末尾に追加します。

+0

私はページ全体をリフレッシュしたくないですがいくつかのグラフ。あなたが言うことはおそらく完全に正しいですが、私はJavascriptで新しく、いくつかのコードサンプルを謝るでしょう。なぜならそれらをかなり理解できないからです! –

0

このシナリオは複雑ではありますが、解決策の可能性があります。 このシナリオでは、smsゲートウェイを開発し、レコードが挿入されたときにトリガーを定義して、そのゲートウェイの背後にある私たちのページを開発したゲート方法にSMSを送信する関数を呼び出します。 :)

他の方法では、いくつかのリソースがどのように使用されているのかをタイミングajaxまたは他の多くの方法で定義することによって、我々は妥協する必要があります。

0

理想的には、ページ全体のリフレッシュではなく、AJAXを介してページ上のデータの更新をトリガーしたいと考えています。 Webソケットを使用してこれを実現できます。一般的なサーバー側の実装はsocket.ioです。 nodejs環境を使用します。

MySQL UDFあなたのトリガーで実行され、より多くのデータをプッシュするようにnodejsに通知する可能性があります(nodejsパッケージの書き込みが必要な場合があります)。だから、自明ではありませんが、間違いなく実行可能です:)

+0

ありがとう!これは私と密接に関係しているので、JavaScriptよりもsqlで遊んでいるほうが快適です。私はこれをチェックします。 –

関連する問題