У меня есть приложение здесь: APPLICATIONКак связать каждую кнопку с отдельными отметками?
Что у меня есть некоторые вопросы и связанные с каждым из вопросов в их возможных ответов на кнопках флажок и три текстовых входов, показывающие QuestionID, тип параметра и количество баллов для каждого отдельного ответа.
Фактически количество меток для каждого индивидуального ответа, если проблема возникает. То, что я хочу попытаться, заключается в том, что для каждого правильного ответа для каждого вопроса они связаны с их собственным вводом текста, показывающим количество оценок, которые они стоят (см. Таблицу Individual_Answer ниже), для всех неправильных ответов, все они стоят 0
в их текстовые входы/
Теперь здесь таблицы базы данных для данного примера приложения:
Вопрос:
QuestionId (PK auto) QuestionNo SessionId (FK Session) OptionId (FK Option)
72 1 26 3
73 2 26 4
Option_Table:
OptionId (PK Auto) OptionType
1 A-C
2 A-D
3 A-E
4 A-F
Ответ:
AnswerId (PK auto) QuestionId (FK Question) Answer
1 72 C
2 73 A
3 73 C
4 73 D
Individual_Answer:
AnswerId (PK auto) AnswerMarks
1 2
2 2
3 1
4 2
Фактический код ниже:
//$qandaqry query is here and executed
$qandaqrystmt->bind_result($qandaQuestionId,$qandaQuestionNo,$qandaQuestionContent,$qandaOptionType,$qandaAnswer,$qandaAnswerMarks);
$arrQuestionId = array();
$arrQuestionNo = array();
$arrQuestionContent = array();
$arrOptionType = array();
$arrAnswer = array();
$arrAnswerMarks = array();
while ($qandaqrystmt->fetch()) {
$arrQuestionId[ $qandaQuestionId ] = $qandaQuestionId; //QuestionId
$arrQuestionNo[ $qandaQuestionId ] = $qandaQuestionNo; //QuestionNo
$arrQuestionContent[ $qandaQuestionId ] = $qandaQuestionContent; //QuestionContent
$arrOptionType[ $qandaQuestionId ] = $qandaOptionType; //OptionType
$arrAnswer[ $qandaQuestionId ] = $qandaAnswer; //Answer
$arrAnswerMarks[ $qandaQuestionId ] = $qandaAnswerMarks; //AnswerMarks
}
?>
<form action='results.php' method='post' id='exam'>
<?php
//Retrieve options for each question
function ExpandOptionType($option) {
$options = explode('-', $option);
if(count($options) > 1) {
$start = array_shift($options);
$end = array_shift($options);
do {
$options[] = $start;
}while(++$start <= $end);
}
else{
$options = explode(' or ', $option);
}
echo '<p>';
foreach($options as $indivOption) {
echo '<div class="ck-button"><label class="fixedLabelCheckbox"><input type="checkbox" name="options[]" id="option-' . $indivOption . '" value="' . $indivOption . '" /><span>' . $indivOption . '</span></label></div>';
}
echo '</p>';
}
foreach ($arrQuestionId as $key=>$question) {
?>
<div class="queWrap">
//Each QuestionNo and QuestionContent
<p><?php echo htmlspecialchars($arrQuestionNo[$key]) . ": " . htmlspecialchars($arrQuestionContent[$key]); ?></p>
//Output each Individual Option
<p><?php echo ExpandOptionType(htmlspecialchars($arrOptionType[$key])); ?></p>
//Output each QuestionId text input per question
<p>Question Id:<input type='text' class='questionIds' name='questionids' value='<?php echo htmlspecialchars($arrQuestionId[$key]); ?>' /></p>
//Output each OptionType text input per question
<p>Option Type: <input type='text' class='optionType' name='optiontype' value='<?php echo htmlspecialchars($arrOptionType[$key]); ?>' /></p>
//Output each AnswerMarks per answer in each question
<p>Each Answer's Marks<input type='text' class='answermarks' name='answerMarks' value='<?php echo htmlspecialchars($arrAnswerMarks[$key]); ?>' /></p>
</div>
<?php
}
?>
</form>
дубликата [ранее спросил ** слишком локализованный вопрос **] (http: // stackoverflow.com/questions/14803913/how-to-display-individual-marks) –
Вы пытаетесь создать форму для того, чтобы кто-то задал вопрос или кому-то ответить на вопрос? Если это для кого-то, ставящего вопрос, то почему в схеме БД нет нигде для текста вопроса и текста ответа? Если это для кого-то, отвечающего на вопрос, вы все равно не должны показывать какие-либо из этих значений в текстовых вводах. – runspired
@runspired Я попытался ограничить информацию в вопросе, поэтому я не включил такие вещи, как вопрос, например, вопрос. Текст ответа отображается в таблице «Ответ» для каждого вопроса, и у меня есть таблица «Student_Answer», которая будет отслеживать ответы учащихся. Эта страница - фактическая оценка, которую принимает студент. Причина, по которой они представляют собой текст, вводит нас, поэтому я могу видеть, что происходит со значениями, после этого они будут заменены на скрытый ввод. – user1394925