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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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;
}