1ページに
・テキストボックス
・ラジオボタン
・チェックボックス
・チェックボックスが選ばれていた場合のみ入力するテキストボックス
が混在していて、入力や選択された情報を、どうやってデータベースに登録するか悩みました。
項目に合わせて、カラムを用意してもいいのですが、項目が変わったら、テーブルも設計しなおしになって、手間がかかりそうです。
どうすべきかと考えて、
・項目名称と入力や選択された情報を、それぞれカラムを用意して、必要なだけテーブルにレコードを登録する。
・読み込んだ後は、項目名称を使って、データを扱う。
という方法を採用しました。
Photo by Markus Spiske on Unsplash
項目が変わっても、レコード内の項目名称と入力や選択された情報が変わるだけで、テーブルの設計には影響しません。
入力や選択された情報がどんな値でも、無制限に登録できる文字列型のカラムに登録するのは、効率は悪い気はします。
項目名称で、ソートや絞り込みはしないので、速度は問題にならないはずです。
シンプルなテーブルで対応できるので、今回のように規則性がなく、変更の可能性が高いページのデータを保存する際は、便利な方法になりそうです。