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
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
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 } ?>
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 // 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; }
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; }
Partager