MadMyche
Там должно быть по крайней мере два стола для основ; один стол для вопросов, а другой для ответов.
Это чрезмерно упрощенная версия; не в каком-то конкретном вкусе SQL, и там нет никаких ключей или индексов, установленных (но рекомендуемых)
CREATE TABLE mcqQuestions (
QuestionID INT, -- should be Primary Key, auto populate, etc
QuestiontEXT NVARCHAR(100)
)
CREATE TABLE mcqAnswers (
AnswerID INT, -- should be Primary Key, auto populate, etc
QuestionID INT, -- should be verified that Question exists
AnswerCorrect BIT, -- only one per question
AnswerText NVARCHAR(100)
)
Теперь на стороне HTML; форма, которую я буду использовать, будет иметь вопрос an answers, а также a
переключатель для обозначения того, какой ответ является правильным. Если вы убедитесь, что они находятся на одной форме и все имеют одно и то же имя, только один из них может быть проверен в любое время. Дифференциация производится по присвоенному значению
<form action="http://www.Example.com" method="post">
<input type="text" name="Question" />
<br>
<input type="radio" name="CorrectAnswer" value="1" />
<input type="text" name="Answer1" />
<br>
<input type="radio" name="CorrectAnswer" value="2" />
<input type="text" name="Answer2" />
<br>
<input type="radio" name="CorrectAnswer" value="3" />
<input type="text" name="Answer3" />
<br>
<input type="radio" name="CorrectAnswer" value="4" />
<input type="text" name="Answer4" />
<br>
<input type="submit" />
</form>
При нажатии кнопки Отправить на этой странице будут размещены следующие данные:
Question: {text from input}
Answer1: {text from input}
Answer2: {text from input}
Answer3: {text from input}
Answer4: {text from input}
CorrectAnswer: {one of the four values assigned in the source code}
Извините, но я не пишу PHP... но логика относительно проста:
1. Читать вопрос
2. сохраните вопрос в БД и получите его идентификатор
3. прочитайте значение CorrectAnswer.
4. Читать все ответы 4
Сохраните каждый ответ индивидуально, используя соответствующий элемент ввода и questionID (из #2), и если это правильный ответ, сохраните и его