次のデータベース設計に問題があります (例のために単純化されています)。これにより、Google スプレッドシート フォームと非常によく似たカスタム フォームを作成できます。データベースへの回答の保存を含め、フォーム生成スクリプトが実行されます。ユーザー入力の表示に問題があります。
テーブルフォーム(各フォームはこのテーブルの行です)
form_id | form_name
1 Contact Form
2 BBQ sign up Form
表の質問(フォーム内の質問)
question_id | form_id | question_name | sorting_order
1 1 Full Name 1
2 1 E-mail address 2
3 1 Subject 3
4 1 Message 4
5 2 Your name 1
6 2 Are you vegetarian? 2
7 2 Beer or wine? 3
table completed_forms (回答をグループ化するため)
complete_id | form_id | timestamp
1 1 1339496914
2 1 1148691493
3 2 1256235334
表の回答(特定の質問に対するユーザーからの回答)
answer_id | complete_id | question_id | answer
1 1 1 Barack Obama
2 1 2 president@whitehouse.gov
3 1 3 Test message
4 1 4 This is a test. Regards, Barack.
5 2 1 Thomas something
6 2 2 thomas@email.com
7 2 3 Another message
8 2 4 Hey, it's Thomas. This is my message.
9 3 5 Dirk
10 3 6 No, I love meat
11 3 7 Red wine!
表示したいのはユーザー入力の概要です。名前と列の数がフォームごとに異なるため、これは非常に複雑です。たとえば、お問い合わせフォーム (form_id: 1) からのユーザー入力を次のように表示したいとします。
id | timestamp | Full Name | E-mail Address | Subject | Message
1 133949... Barack... president@w... Test... This is a t...
2 114869... Thomas... thomas@emai... Anot... Hey, it's T...
そして、次のように form_id 2 から:
id | timestamp | Your name | Are you vegetarian? | Beer or Wine?
3 125623... Dirk No, I love meat Red wine!
私がこれを達成できるかどうか、またどのように達成できるかは誰にもわかりますか?
この問題に光を当てるために時間を割いてくれる人に感謝します!