- ベストアンサー
入力フォームに設定する値をDBから設定する場合について
登録画面の表示処理にて、 定数テーブルから値を取ってきてリストボックスの値を設定し、表示しているのですが、 画面をリロードするたびにselectしているので処理的に無駄かなぁと思っています。 一般的にはどうしているのでしょうか?セッション変数に確保しているのでしょうか? それとも頻繁に変更しない静的な値はHTMLを直に書くべきでしょうか? 例えば、住所選択ボックス。 <select name="area1"> <option value="1">北海道</option> <option value="2">青森県</option>
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
一般的にはどうかわかりませんが、私は定数テーブルか直接HTMLに記述しています。 一度データを参照しておいて、セッション変数に入れると言う方法はしません。 定数テーブルを使うのか、直接HTMLに記述するのかは、登録画面の用途によります。 ユーザー登録申請のような画面では、入力者は一度しかその画面を見る事がないし、初期値を必要としないので、直接HTMLです。 ユーザーが登録情報を変更できるような、データを呼び出して登録修正する画面であれば、どこかの <option> の中に selected を入れないといけないので、ここを PHP で処理するのに合わせて、定数テーブルを読み込んでます。 でないと、直接HTMLを記述しているところへ selected を追加するのは面倒が増えるので、それよりは、一瞬のサーバーへの無駄とも思える処理をさせた方が楽です。 たぶんサーバーのキャッシュに残っていると思うので、それしきの処理を無駄にも心配にも思わないでいいかと思っています。 直接HTMLに記述する場合でも、そのページが PHP で作られていれば、include や require を使ってその部分を出力するようにしています。 貼り付けミスや、ソースが長くなるのを避けるためです。 正直、セッション変数に入れるのはいいのかどうかわかりませんが、そこまでしなくても、と思います。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
SQLに問い合わせをしているという意味でしょうか? ほとんどの場合キャッシュが働くので、極端に無駄が大きくなる ことはまれだと思います。 もちろん、ほとんど変化する可能性がないならスタティックな 表記で十分ですね (ただ都道府県と市町村がSQLで絡み合っているならやはり RDBのテーブルは用意しておく必要があるとおもいますが)
お礼
回答ありがとうございます。 なるほどキャッシュが働くのですね。。。
お礼
回答ありがとうございます。 >>selected を追加するのは面倒が増えるので そうですね、これはちょっとめんどくさそうなんですよねえ。。。 貴重なご意見ありがとうございました。