![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
phpでiniファイルに定義したSQL文とパラメタを読んで抽出結果を画面表示する、もしくはCSV出力するという汎用スクリプトを作成中です。
[dbselect.php]
iniファイル上の定義情報を読み、フォームで条件パラメタを入力させて、dbget.phpに渡す
(条件パラメタの中には、データベースの選択条件に加え、画面表示かCSV出力かの選択も含む)
[dbget.php ]
postで受け取った値でエラーチェックを行い、
エラーがある場合は、エラーのある選択条件と原因を画面表示、
エラーの無い場合は、条件パラメタに従い、画面表示、もしくはCSVに出力
という仕様です。画面表示をするまでは凡そ出来上がっています。
CSVを出力する時には、<tr><td>等のテーブルタグを出力せず、
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename={$down_file}");
header("Content-Type: text/csv; charset=Shift_JIS ");
echo $csv_data;
のようにヘッダファイルを出力すれば済むと思ったのですが、画面表示するために、
すでに先頭部分でヘッダファイルは出力済みです。
こんな処理分岐をしようと思ったら、ヘッダファイルの異なるスクリプトをもう一つ作るしか方法は無いでしょうか?(画面表示用とCSV出力用)
本来ならエラーチェックは選択側でJavascriptで行うべきなのかもしれませんが、
定義ファイルから読み取った情報で処理する必要があり、そこまでの知識が無いので断念しました。
出来れば、二重管理をしたくないため、何か方法があればと思い質問させて頂きました。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
内部データは配列で持てば、CSVに出力する際も
fputcsvで一度テンポラリを介して出力すればいいでしょう。
出力方法だってテーブルに出す以外にエクセルやpdfデータに
出力したいことだってあるでしょうから、元データは一元化しておけばよいかと
コメント有難うございました。
一旦メモリ上の配列に落としてから、htmlにするか、CSVにするかを決めるということですね。
データサイズが大きくなるとどうも不安があるので、躊躇していました。
件数の制約を設けるか、メモリ上でなく、CSVで吐き出すか考えてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バイナリファイルをブラウザに...
-
CSV出力にHTMLが入ってしまう
-
¥マークを出力したいがバック...
-
json_encode日本語表示/PHP5.2.5
-
リダイレクト元のURLの取得方法...
-
CFileDialogの最初のディレクト...
-
VB6にてメールを送信する方法
-
onedrive にexcelファイルをア...
-
phpのheader("Location:#pos")...
-
OpenGLで描いて画像ファイル出力
-
フォントの色を変えるには?
-
VB.NET 最下位のディレクトリ名...
-
リンク先を隠す方法はないでし...
-
PHPのif文でその処理を途中で抜...
-
FORMタグを使わずに、POSTする...
-
youtubeに音声のみのmp4ファイ...
-
mysql複数レコードをまとめて削...
-
受け取ったパラメータを次のphp...
-
phpの階層が変わると上手く読み...
-
Subversionのリポジトリの削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSV出力にHTMLが入ってしまう
-
PHPにおける時間計算、時間足し...
-
phpexcelにてsubmitボタンを押...
-
ob_end_clean と ob_clean の違...
-
imgタグでのphpの呼び出しについて
-
smarty foreach 半角スペース
-
リダイレクト元のURLの取得方法...
-
TCPDFについて
-
エクスプローラーでフォルダを...
-
phpにcssを適応させたい...
-
¥マークを出力したいがバック...
-
image関数でMS Pゴシックを使い...
-
PHPで表示したテーブル内容をCS...
-
バイナリファイルをブラウザに...
-
PHP/phpMyAdmin/データベースな...
-
PHP4 メモリ使用量について
-
phpでmysqlから画像パスを出力する
-
PHPが出力するHTMLを表示するに...
-
GDで生成したはずの画像が文字...
-
ブラウザのページキャッシュ機...
おすすめ情報