• ベストアンサー

PHPでDB処理中にプログレスバーを出したい

Ajax初心者です。 PHPでDB処理が長くブラウザタイムアウトが発生してしまう為 DB処理中はブラウザに処理中画面(プログレスバー表示有り)を 表示したいのですが、Ajaxを使ってプログレスバーを動かす 方法があれば方式を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

「処理中」を表示することは簡単です。 まず、ajaxで結果表示しようとするspan(もしくはdiv)に 「処理中」を表示し、その後その領域に結果を呼び出すだけです。 (呼び出させるまでは処理中と表示されます) しかし、処理がどのくらい進んでいるか・・・たとえば 全体処理の○○%・・・など表示するのかなりめんどうです。 よほどのことがないかぎりやめたほうがよいでしょう。 とくにsqlの処理終了予測はきわめて面倒なことだと思います。

omisoshill
質問者

お礼

ありがとうございました。 SQLの処理時間を予測するのはサーバの負荷等にも左右されそう ですのでプログレスバーの表示はしない方向で検討しなおします。

その他の回答 (1)

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.1

タイムアウトが発生しないよう、 データベース処理のロジックなどを見直す予定はありますか? プログレスバーを表示する方法が見つかったとしても、 問題の本質的な解決につながらないですよね。

omisoshill
質問者

補足

データベースの処理ロジックの見直しは行っておりますが 秒オーダーで結果を返せる物では無いと思ってます。

専門家に質問してみよう