MySQL データベースから質問とその選択肢を取得し、ユーザーが入力するフォームとして表示するクイズ プログラムを作成しようとしています。ユーザーは(すべてのフィールドに入力すると)送信します。ここでは採点は行われず、回答はそのユーザーの登録 ID とともにデータベースに保存されるだけです (これは、一部の回答が公開されているためです。つまり、ユーザーは物理的に回答を入力する必要があるため、後で評価されます)。
私のテーブルの構造は次のとおりです(テーブルが歪んでいて読みにくいので、作成クエリを投稿します):
表 1 : これには、q_id (各質問には一意の ID があります)、question (実際の質問)、quiz_id (この質問が属するクイズの ID; 複数のクイズがあります!)、active (単純な「y」または、この質問がアクティブかどうかを確認する "n" フィールド。アクティブでない場合、質問はフォームに追加されません) を入力し、 (単一選択の場合は 'c'、複数選択の場合は 'm'、オープンの場合は 'o' を入力します。 /ユーザーテキスト入力)
CREATE TABLE `db_test`.`insr_questions` (
`q_id` INT(10) NOT NULL AUTO_INCREMENT ,
`question` VARCHAR(255) NOT NULL ,
`quiz_id` MEDIUMINT(8) UNSIGNED NOT NULL ,
`active` CHAR(1) NOT NULL ,
`type` CHAR(1) NOT NULL ,
PRIMARY KEY (`id`) );
表 2: これには、フィールドa_id (回答の選択肢の一意の ID)、choice (実際の回答の選択肢)、question_id (これらの回答の選択肢が属する質問 ID)、およびアクティブ(どちらが同上)
CREATE TABLE `db_test`.`insr_answers` (
`a_id` INT(10) NOT NULL AUTO_INCREMENT ,
`choice` VARCHAR(75) NOT NULL ,
`question_id` MEDIUMINT(8) UNSIGNED NOT NULL ,
`active` CHAR(1) NOT NULL ,
PRIMARY KEY (`id`) );
したがって、ここでの考え方は、quiz_idを取得してから、質問テーブルを掘り下げて、その quiz_id に属するすべての質問を取得し、各質問を取得して、その question_id に属するすべての回答を取得することです。これらは、php フォームで表示する必要があります。
正しい方向へのポインタは大歓迎です!
(私は現在、これを行うことができるさまざまな方法を読んでいます.phpの初心者なので、私が取り組んでいる他のコードをこの質問に追加します!)