0
나는 배열 (다차원)로 MySQL의 출력을에서 데이터를 가져 오는 코드 그래서 같은 있습니다PHP/MySQL을 Multidemensional/연관 배열
$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
내가하려고 달성 :
제목 고양이 1 | 고양이 2 | 미들 | ENDTERM
MATH 50 35
좋은 더
영어 20 할 수
가/각 마크에 대한 아래의 발언이 표시 어떻게 표시 할 수 있습니다 : 40
는 더
질문을합니까 더 잘 할 수 있습니까? 나는 발언이 데이터베이스에 이미있는 것을 의미하지만
여러분의 도움이 많이 감사합니다 ... 당신의 답변을
감사 mahadeb. 데이터베이스에서 발언을 가져와 표시와 비교하여 표시하려면 어떻게합니까? – Brian
나는이 코드를 해결할 수 있었다 ... 내가했던 모든 것은 비유 비교를 제거하고 이것을 $ row [ 'remarks']와 바꾸었다. $ studentMarks [$ row [ 'subject']] [$ row [ 'exam' ]] [ 'remark'] = $ row [ 'remarkarks']; . 너무 감사합니다. 나는 문제가 해결되었다고 말할 수있다. – Brian