js(vue.js),php,MYSQLでサイトをつくってます。
データベースに入っているデータは全て表示していて新たに表示するデータがない状態で、データベースに新たなデータが追加されたらクエリなどを実行してデータをjsに送るような処理を書きたいです。私が考えている方法は正しいのでしょうか。
考えている手順
考えている処理の手順は
- jsのsetInterval()をつかってajaxで新しいデータが来てないかphpファイルにリクエストを繰り返し送り続ける。
- dbの新しいデータが0になった時に、ajaxでリクエストを送りphpの中で存在すればsetInterval()のような関数(調べたけど未だ見つかってない)を使ってクエリを実行し続ける。
- dbの新しいデータが0になった時に、ajaxでリクエストを送りphpの中でexec()関数(恐らくクエリを実行するexec関数とは別物)を使ってクエリを実行する処理が終わってからjsにレスポンスを返すプログラムを書くパターンを考えたが結局dbに新しいデータがあるか問い合わせる処理があるので2のsetInterval()を使うパターンと一緒のやり方になる。
- これも調べたけどなかったが、jsのaddEventListenerみたいにdbの変更を監視する関数や何かがあればそれを実装する。一番はこれを実装できるといい気がしています。
発生している問題・エラーメッセージ
手順1のリクエストを繰り返し送るやり方は一番現実的だがこれが正しいやり方なのか分かりません。無駄にhttprequestをしすぎている気がしますが、いいのでしょうか。
手順2phpの中でsetIntervalをするやり方は関数が見つかってません。
手順3のexec関数を使うやり方もsetIntervalがないと繰り返し実行ができない。
手順4もdbの変更を監視する関数が見つからない。
補足情報(FW/ツールのバージョンなど)
xampp使用
os windows10
ブラウザ chrome
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/02 14:10