0
我有这样的代码,从MySQL并将其输出作为一个阵列(多维)获取数据,像这样:PHP/MySQL的期多维/关联数组
$res = @mysqli_query($dbc, "SELECT id, subject, exam, marks, remarks FROM log WHERE student = '2222' AND term = 'Term2'");
$studentMarks = array();
while ($row = mysqli_fetch_array($res, MYSQLI_ASSOC))
{
$studentMarks[$row['subject']][$row['exam']] = $row['marks'];
}
//So far the code displays $studentMarks like this:
//$studentMarks = array(
// Maths => array('CAT1' => 50, 'CAT2' => 35)
// , English => array('CAT1' => 20, 'MIDTERM' => 40)
//);
//I wish it to add remarks thus displaying $studentMarks like:(Not sure whether I am right)
//$studentMarks = array(
// Maths => array('CAT1' => array(50,
// "Good"
// ),
// array('CAT2' => array(35,
// "Can do better"
// )
//)
// , English => array('CAT1' => array(20,
// "Good"
// ),
// array('MIDTERM' => array(40,
// "Much better"
// )
//);
echo '<table><thead><tr>';
echo '<td>Student</td><td>CAT1</td><td>CAT2</td><td>MIDTERM</td>';
echo '</tr></thead><tbody>';
foreach($studentMarks as $studentSub => $marks)
{
echo '<tr>';
echo '<td>', $studentSub, '</td>';
echo '<td>', (isset($marks['CAT1']) ? $marks['CAT1'] : ' '), '</td>';
echo '<td>', (isset($marks['CAT2']) ? $marks['CAT2'] : ' '), '</td>';
echo '<td>', (isset($marks['MIDTERM']) ? $marks['MIDTERM'] : ' '), '</td>';
echo '</tr>';
}
echo '</tbody></table>';
// END CODE
我试图实现这一点:
SUBJECT CAT 1 | CAT 2 | MIDTERM | ENDTERM
MATH 好 可以做的更好
ENGLISH 可以做的更好 做到更好
问题:
如何显示在/对每个标记的言论显示?
你的帮助是非常赞赏...
感谢mahadeb的回答,但我的意思是言论已经在数据库中。我如何从数据库中获取评论并针对标记进行展示? – Brian
我设法解决了代码...我所做的只是删除评论比较,并用$ row ['remarks']代替它:$ studentMarks [$ row ['subject']] [$ row ['exam' ]] ['remark'] = $ row ['remarks']; 。非常感谢你mahadeb。我可以放心地说问题解决了。 – Brian