Requête ne ramène pas de résultats
Bonjour,
j'ai un souci, depuis un certain j'ai une requete qui fonctionnait correctement et qui du jour au lendemain ne me ramene plus rien.
la requete
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| <?php$n = 0;
// Informations sur les matières et la moyenne de l'élève
$sql2 = "SELECT enseigner.id_matiere as matiere, lib_matiere, coeff
FROM matiere, coefficien, enseigner
WHERE matiere.id_matiere = coefficien.id_matiere AND
matiere.id_matiere = enseigner.id_matiere AND
enseigner.id_classe = '$idclasse'";
$req2 = $DB->query($sql2);
while($d2 = $req2->fetch())
{
$n++;
//$moyenne = MoyMat($id,$idperiod,$d2['matiere'],$DB);
$moyenne = MoyMat($id,$idperiod,$d2['matiere'],$DB);
$rang = RangMat($id,$idperiod,$d2['matiere'],$iduser,$DB);
?>
<tr>
<td><?php echo $n; ?></td>
<td><?php echo $d2['lib_matiere']; ?></td>
<td align="center"><?php echo round($moyenne,2); ?></td>
<td align="center"><?php echo $bar; ?></td>
<td align="center"><?php echo $d2['coeff']; ?></td>
<td align="center"><?php echo round($moyenne*$d2['coeff'],2); ?></td>
<td align="center"><?php echo $rang; ?></td>
<td class="text-center">
<ul class="icons-list">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="icon-menu9"></i>
</a>
<ul class="dropdown-menu dropdown-menu-right">
<li><a href="ListeNoteMat.php?idins=<?php echo $id; ?>&nm=<?php echo $nom; ?>&prn=<?php echo $prnom; ?>&prd=<?php echo $idperiod; ?>&mat=<?php echo $d2['matiere']; ?>"><i
class="icon-database"></i>Voir détails </a>
</li>
</ul>
</li>
</ul>
</td>
</tr>
<?php
}
?> |
la foncion de calcul des moyennes
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| // Calcul de la moyenne l'élève dans la matière
function MoyMat($inscrit, $periode, $matiere, $BDD)
{
$somnotecoef = 0;
$somcoef = 0;
$sqlfx = "SELECT note, coeff
FROM compo
WHERE id_matiere = '$matiere' AND
id_periode = '$periode' AND
id_inscrit = '$inscrit'";
$reqfx = $BDD->query($sqlfx);
while($dfx = $reqfx->fetch())
{
$somnotecoef += $dfx['note']*$dfx['coeff'];
$somcoef += $dfx['coeff'];
}
if($somcoef == 0){
$moyenne = 0.00;
}else{
$moyenne = $somnotecoef / $somcoef;
}
return $moyenne;
} |
Fonction de calcul du rang
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| // FONCTION DU CALCUL DU RANG DE LA MATIERE
function RangMat($inscrit, $periode, $matiere, $user, $BDD)
{
// Récupérer la classe et l'année scolaire d'inscription de l'élève
$sqlfx = "SELECT id_classe, id_annee
FROM inscrit
WHERE id_inscri = '$inscrit'";
$reqfx = $BDD->query($sqlfx);
$dfx = $reqfx->fetch();
$class = $dfx['id_classe'];
$anne = $dfx['id_annee'];
// Récupérer tout les élève dans la classe dans l'année scolaire
$sqlfx1 = "SELECT id_inscri
FROM inscrit
WHERE id_classe = '$class' AND
id_annee = '$anne'";
$reqfx1 = $BDD->query($sqlfx1);
While($dfx1 = $reqfx1->fetch())
{
$insc = $dfx1['id_inscri'];
// Pour chaque enregistrement claculer la moyenne et l'enregistrer dans e tableau moyrang
$moyenne = MoyMat($insc, $periode, $matiere, $BDD);
$tfx = array(
'tins' => $insc,
'tmoy' => $moyenne,
'tuse' => $user,
);
$reqfx2 = $BDD->prepare("INSERT INTO moyrang (id_ins, moy, id_user)
VALUES (:tins, :tmoy, :tuse)");
$reqfx2->execute($tfx);
}
// La table moyrang étant remplie, la trier par ordre décroissant puis attribuer le rang de chaque élève
// Remplir la table tri
$n = 0;
$sqlfx3 = "SELECT id_ins
FROM moyrang
WHERE id_user = '$user'
ORDER BY moy DESC";
$reqfx3 = $BDD->query($sqlfx3);
while($dfx3 = $reqfx3->fetch())
{
$n += 1;
$insc2 = $dfx3['id_ins'];
$tfx4 = array(
'tins' => $insc2,
'trg' => $n,
'tuse' => $user,
);
$reqfx4 = $BDD->prepare("INSERT INTO tri (id_ins, rang, id_user) VALUES (:tins, :trg, :tuse)");
$reqfx4->execute($tfx4);
}
// Récupération du rang de l'élève
$sqlfx5 = "SELECT rang
FROM tri
WHERE id_user = '$user' AND
id_ins = '$inscrit'";
$reqfx5 = $BDD->query($sqlfx5);
$dfx5 = $reqfx5->fetch();
// Vider les tables tri et moyenne
try{
$reqfx6 = $BDD->prepare("DELETE FROM tri WHERE id_user = '$user'");
$reqfx6->execute();
}catch (PDOException $e){
echo $e->getMessage();
}
try{
$reqfx6 = $BDD->prepare("DELETE FROM moyrang WHERE id_user = '$user'");
$reqfx6->execute();
}catch (PDOException $e){
echo $e->getMessage();
}
// Récupération et renvois du rang
$rang = $dfx5['rang'];
return $rang;
} |