Ты довольно близко.Просто инициализируйте переменные $total4
, $sum4
и $average4
до нуля перед циклом.Вам не нужна эта строка global
, и даже если вы делаете это, она не должна быть внутри цикла while.(Закрывающий тег </tbody>
, вероятно, тоже не должен быть.)
<?php
// initialize your variables before the loop
$total4 = 0;
$sum4 = 0;
$average4 = 0;
while($row = mysqli_fetch_array($result_final_grade)){ ?>
<tr>
<td class="text-center"> <?php echo $row['subject']; ?></td>
<td class="text-center"> <?php echo $row['grade']; ?></td>
</tr>
<?php
$total4 += $row['grade'];
$sum4++;
} ?>
</tbody>
</table>
Затем проверьте количество строк.Если это не ноль, вычислите среднее значение.
<?php
if ($sum4) {
$average4 = $total4/$sum4;
}
$average = number_format($average4, 0, '.', '');
?>
AVERAGE GRADE: <?php echo $average4; ?>