У меня проблема с вычислением среднего за квартал
я выполняю академическую историю, в базе данных у меня есть таблица успеваемости студента, и в следующем коде я делаю то, что я делаю, это приносить за квартал все предметы с соответствующей квалификацией.
то, что я пытался сделать, это то, что для каждого квартала я получаю среднее значение набора оценок и под каждым кварталом он показывает мне метку со средним кварталом: и рейтинг, что-то вроде следующего изображение:
2
1 answers
Вы показываете среднее значение только в конце, вам нужно делать это каждый раз, когда вы меняете четверки.
- инициализирует четырехлетний со значением по умолчанию (ноль)
- внутри
for
анализирует, было ли изменение четверти- Если значение
$Cuatrimestre
отличается от нуля, это означает, что это первый и только образцы заголовок - Если значение отличается от нуля, вы должны показать среднее значение, а затем заголовок
- Если значение
$suma = 0;
$contador_calificaciones = 0;
// Inicializar cuatrimestre en cero
$Cuatrimestre = 0;
for ($Cuatrimestre = 0;$row = sqlsrv_fetch_array($stmt);$Cuatrimestre = $row['Cuatrimestre']) {
if($row['Cuatrimestre'] != $Cuatrimestre) {
// Mostrar solo si ya hay datos
if($Cuatrimestre != 0) {
// Cambió el cuatrimestre, hay que mostrar el promedio
?>
<tr>
<td colspan="5">
PROMEDIO CUATRIMESTRAL:
<?php echo round($suma/$contador_calificaciones, 2);?>
</td>
</tr>
<?php
} // endif $Cuatrimestre != 0
// Mostrar encabezado de cuatrimestre
?>
<thead>
<tr>
<th colspan="5">
<?php
// Tenías un if innecesario, comparando la misma variable
echo $row['Cuatrimestre']."o. "."CUATRIMESTRE: ";
?>
</th>
</tr>
</thead>
<?php
// Reiniciar suma y contador
$suma = 0;
$contador_calificaciones = 0;
// Actualizar valor de cuatrimestre
$Cuatrimestre = $row['Cuatrimestre'];
} // endif cuatrimestre diferente
$suma += (int)$row['Calificacion'];
$contador_calificaciones++;
?>
<tbody>
<tr>
<td><?php echo $row['Nombre'];?></td>
<td><?php echo $row['Creditos'];?></td>
<td><?php echo $row['ElementoCatalogo'];?></td>
<td><?php echo $row['Calificacion'];?></td>
<td><?php echo $row['Cuatrimestre'];?></td>
</tr>
</tbody>
<?php
} // endfor
0
Author: Triby, 2020-07-14 20:12:24