
No.2ベストアンサー
- 回答日時:
>検索されるの度にファイルだけは作成しておく
>ということでしょうか?
まぁ好きなようにしてくださいとしか言いようがないですが
私の触る機会があるシステムでは大きく2つロジックの違うものがあります
(1)都度作成
ダウンロードボタンおす→検索する→結果をダイレクトにテキスト出力する
これが前回提示した方法
メリットとしては、必要なデータが最短時間で入手できること
デメリットは重い処理になると同期処理なのでタイムアウトしてしまうこと
(2)作成依頼してゲット
作成ボタンをおす→作成されたデータが一定時間プールされる→ダウンロード
ボタンをおす→データがダウンロード&ダウンロードされたフラグを付ける
→一定時間が経過したら削除
メリットは非同期処理のためとりあえず放置しておけること、データの再取得にも
むだなSQLを走らせる必要がありません
デメリットは運用方法によってはプールしておくデータが放置されっぱなしになる
可能性が高いこと
業務で使うなら(2)の方がいいでしょうけど、私が個人で作るときは手っ取り早い
(1)を使うケースの方が圧倒的におおいです
この回答への補足
ご回答ありがとうございます。
>ダウンロードボタンおす→検索する→結果をダイレクトにテキスト出力する
これをやりたいのですが、そもそも
「検索する」のときに検索条件をどう設定するのか?
で困ってます。
ソースの構成は下記です。
---------------------------
・コントローラのPHP
--検索ボタン押下時の処理
-> 検索用入力フォームVIEWで検索条件を入力
-> 検索結果表示用VIEWで結果表示
--CSV出力押下時の処理
---------------------------
最初にフォームに値を入力して検索し、結果を得ても
CSV押下時には、フォームに入れた項目は、
検索条件に設定できないのではないかと。。
No.3
- 回答日時:
方法1
・検索結果をHTML表示するときに、テンポラリディレクトリにCSVをユニークなファイル名.csvで作る
そのHTML中にテンポラリディレクトリの.csvファイルのリンクを設置しておく
・テンポラリのCSVファイルは別プロセスで掃除する
(cronまたはCSV生成時用PHP内で、1時間以上経過したファイルを探して消す等)
方法2
・検索結果のHTML中にCSVのダウンロードボタンを設置し、そのformにhiddenで検索条件を埋めておく
・CVSダウンロードのPHPでは、再度検索し(この時点ではヘッダはまだ出さない)、
成功すれば、CSV用のヘッダとCSV形式のデータを送出。
検索失敗時は、HTML用のヘッダとエラーメッセージのHTMLを送出
ですかね。
No.1
- 回答日時:
>もう一度DBを検索させる?
「もう一度」の前段階になにをやっているのかがわかりません。
一度画面上にCSVで出力するのに過不足ないデータを表示するということですか?
SQLの場合、キャッシュも期待できるので、一度検索した内容であれば
再検索しても相応のスピードが期待できますね。
ロジックはたんじゅんに以下の流れになるでしょう。
(1)ボタンを押したという情報を得る(ボタンにnameをつけておくなど)→
(2)データ検索する→
(3)ヘッダを吐く→
(4)データを吐く
この回答への補足
(4)データを吐く
=>この時点で、実際に「ダウンロード」ボタン押下されるかは
分からないのですが、検索されるの度にファイルだけは作成しておく
ということでしょうか?
検索=>ファイルはとりあえず作成=>「ダウンロード」ボタン押下しない場合もある
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでダウンロードしたファイル...
-
FTPコマンドでディレクトリごと...
-
フォントの色を変えるには?
-
PHPのif文でその処理を途中で抜...
-
1桁7セグメントLEDの部品高さ
-
makefile でファイルをコピーす...
-
SMTPサーバの指定なしでメ...
-
バッチを用いたフォルダの自動移動
-
DBに格納された画像データを縮...
-
ファイルの遷移がうまく行われ...
-
文字コードが混在するテキスト...
-
visualstudioでc#のdllができない
-
別ファイルの変数を呼び出した...
-
PHPで吐き出した画像にリンクを...
-
【file_exists】ファイルが存在...
-
phpログファイルの文字化けにつ...
-
VB6にてメールを送信する方法
-
【PHP】declare命令で”Fatal er...
-
glob関数で日本語文字が取得で...
-
.phpと.incファイルの違いはな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
zip圧縮の種類について
-
PHPでファイルのダウンロードす...
-
生成したHTMLをボタンクリック...
-
ファイルシステム関数関係
-
PHPで複数ファイルのダウン...
-
PDF ダウンロード
-
ダウンロードすると画像が壊れ...
-
getfile.phpファイル?について
-
パスワードファイルの管理
-
PHPでダウンロードしたファイル...
-
PHPでファイルをダウンロードさ...
-
ファイル(PDF・エクセル・ワー...
-
VB.NETのFTPダウンロードについて
-
ブラウザでExcelをダウンロード...
-
fwrite~サーバ環境で、なぜか0...
-
eclipseでコメントアウトができ...
-
検索結果をCSVにダウンロードす...
-
ダウンロードが機能しない。
-
csvをダウンロードする際、いき...
-
PHPでBasic認証付HP...
おすすめ情報