Verileri Süzerek Toplama
Elimde bir puanlar tablosu var. Sınıflar her kriter için farklı kişiler tarafından verilen puanlar şöyler
SINIF PUAN VEREN 1.Kriter 2.Kriter 3. Kriter
5A ALi 1 1 0
5B Ahmet 1 0 1
5A Veli 1 1 1
5C Veli 1 1 0
5B osman 1 1 1
Burada istediğim her sınıfın aldığı toplam puanı bulmak ve şöyle bir çıktı almak.
SINIF T_PUAN
5A 5
5B 5
5C 2
Bunun için kullandığım yöntem :
<?php
$sql=$db->query('SELECT DISTINCT sinif,soru1,soru2 FROM puanlama ORDER BY sinif ASC');
foreach($sql as $row)
{?> <tr>
<td><?php echo $row["sinif"];?></td>
<td><?php echo $row["soru1"]+$row["soru2"];?></td>
<?php }
?> </tr>
ancak olmuyor...
<?php
$classes = [];
foreach($sql as $row) {
if(!isset($classes[$row['sinif']])) $classes[$row['sinif']] = 0;
$classes[$row['sinif']] += intval($row['soru1']) + intval($row['soru2']);
}
?>
<table>
<thead>
<th>
<td>SINIF</td>
<td>T_PUAN</td>
</th>
</thead>
<tbody>
<?php foreach($classes as $className => $totalPuan) { ?>
<tr>
<td><?=$className?></td>
<td><?=$totalPuan?></td>
</tr>
<?php } ?>
</tbody>
</table>