$arrQuestionContent = array();
$arrAnswerFile = array();
while ($qandaqrystmt->fetch()) {
$arrQuestionId[] = $qandaQuestionId;
$arrQuestionContent[] = $qandaQuestionContent;
}
...
while ($imgqrystmt->fetch()) {
$arrAnswer[] = $AnswerFile;
}
上面我有两个数组,它们从数据库中获取数据,arrQuestionContent[]
获取所有问题,同时$arrAnswer[]
获取每个问题的所有答案。
但是有些问题可能不包含答案,这导致Notice: Undefined offset:
我的表中的每个问题行都不包含答案。
我的问题是,如果问题行不包含答案,我怎样才能让表格在列下显示一个空白行Answer
?
也有可能一个问题有多个答案。如果是这种情况,那么我希望具有多个答案的问题行能够将其所有答案包含Answer
在问题行中的列下。目前,它只为假设有多个答案的问题行显示一个答案:
下面是表格:
<table id="tableqanda" align="center" cellpadding="0" cellspacing="0" border="1">
<thead>
<tr>
<th width="30%" class="question">Question</th>
<th width="12%" class="images">Answer</th>
</tr>
</thead>
<tbody>
<?php
foreach ($arrQuestionId as $key=>$question) {
echo '<tr class="tableqandarow">'.PHP_EOL;
echo '<td width="30%" class="question">'.htmlspecialchars($arrQuestionContent[$key]).'</td>' . PHP_EOL;
echo '<td width="12%" class="images">'. ( empty ($arrAnswerFile[$key]) ) ? " " : htmlspecialchars( is_array( $arrAnswerFile[$key] ) ? implode(",", $arrAnswerFile[$key]) : $arrAnswerFile[$key] ) . '</td>' . PHP_EOL;
echo '</tr>'.PHP_EOL;
}
?>
</tbody>
</table>
更新:
显示表应该是什么样子的屏幕截图:
更新 2:
结果var_dump($arrQuestionContent);
:
array(2) { [0]=> string(19) "Name these 2 things" [1]=> string(11) "What is 4+4" }
结果var_dump($arrAnswerFile);
:
array(3) {
[0]=> string(1) "A"
[1]=> string(1) "C"
[2]=> string(1) "A"
}
下面是表格截图。无论问题是否有答案,都会发生这种情况:
数据库:
QuestionId QuestionContent Answer
1 Name these 2 Things A
1 Name these 2 Things C
2 What is 4+4? A