我有一个关于如何在我的PHP代码中显示正确布局的问题:
好的我想在表格的单一评估中显示所有问题。现在它显示如下:
Question No. Question Answer Marks Per Answer Total Marks
1 What is 5+5? B (text input) 3
2 Name three maneuvers you will ECB (text input) 7
undergo in a driving test
我想更改表格的显示,使其如下所示:
Question No. Question Answer Marks Per Answer Total Marks
1 What is 5+5? B (text input) 3
2 Name three maneuvers you will E (text input)
undergo in a driving test C (text input) 7
B (text input)
我的问题是如何实现第1点和第2点以便它可以匹配新的布局?
以下是当前显示的代码:
$query = "SELECT q.SessionId, s.SessionName, q.QuestionId, q.QuestionContent, GROUP_CONCAT(DISTINCT Answer SEPARATOR '') AS Answer, q.QuestionMarks
FROM Session s
INNER JOIN Question q ON s.SessionId = q.SessionId
JOIN Answer an ON q.QuestionId = an.QuestionId AND an.SessionId = q.SessionId
WHERE s.SessionName = ?
GROUP BY an.SessionId, an.QuestionId
";
// prepare query
$stmt=$mysqli->prepare($query);
// You only need to call bind_param once
$stmt->bind_param("s", $assessment);
// execute query
$stmt->execute();
// This will hold the search results
$searchQuestionId = array();
$searchQuestionContent = array();
$searchAnswer = array();
$searchMarks = array();
// Fetch the results into an array
// get result and assign variables (prefix with db)
$stmt->bind_result($dbSessionId, $dbSessionName, $dbQuestionId, $dbQuestionContent, $dbAnswer, $dbQuestionMarks);
while ($stmt->fetch()) {
$searchQuestionId[] = $dbQuestionId;
$searchQuestionContent[] = $dbQuestionContent;
$searchAnswer[] = $dbAnswer;
$searchMarks[] = $dbQuestionMarks;
}
?>
</head>
<body>
<form id="QandA" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
<?php
echo "<table border='1' id='markstbl'>
<tr>
<th class='questionth'>Question No.</th>
<th class='questionth'>Question</th>
<th class='answerth'>Answer</th>
<th class='answermarksth'>Marks per Answer</th>
<th class='noofmarksth'>Total Marks</th>
</tr>\n";
foreach ($searchQuestionContent as $key=>$question) {
echo '<tr class="questiontd">'.PHP_EOL;
echo '<td class="optiontypetd">'.htmlspecialchars($searchQuestionId[$key]).'</td>' . PHP_EOL;
echo '<td>'.htmlspecialchars($question).'</td>' . PHP_EOL;
echo '<td class="answertd">'.htmlspecialchars($searchAnswer[$key]).'</td>' . PHP_EOL;
echo '<td class="answermarkstd"><input class="individualMarks" name="answerMarks[]" id="individualtext" type="text" "/></td>' . PHP_EOL;
echo '<td class="noofmarkstd">'.htmlspecialchars($searchMarks[$key]).'</td>' . PHP_EOL;
}
echo "</table>" . PHP_EOL;
?>
</form>
</body>
答案 0 :(得分:0)
E,C和B是什么?它们是问题2的答案吗?如果是这样,我认为$ searchAnswer包含它们(E,C,B)。所以我认为你应该使用foreach循环。
foreach($searchAnswer as $key){
echo "$key<br />";
}
或
for($i=0;$i<count($searchAnswer);$i++){
echo "$searchAnswer[$i]<br />";
}
祝你好运。