Gestion d'une école

gkba
Messages postés
1
Date d'inscription
vendredi 9 mars 2018
Statut
Membre
Dernière intervention
9 mars 2018
- 9 mars 2018 à 16:28
jordane45
Messages postés
35491
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 mai 2022
- 8 avril 2018 à 19:54
Bonjour,
comment afficher le bulletin de notes d'un élève en tenant compte de sa position de rang de façon automatique.
merci d'avance
A voir également:

2 réponses

jordane45
Messages postés
35491
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 mai 2022
356
9 mars 2018 à 21:07
Bonjour,

Ta question concerne le code php à propement parlé ... ou la requête SQL ?

Si requête... tu souhaites avoir le "rang" ?
Donc un truc du genre
SELECT    first_name,
          note,
         @curRank := @curRank + 1 AS rank
FROM      person p, (SELECT @curRank := 0) r
ORDER BY  note;


Après... sans rien savoir sur la structure de ta bdd... ni même ce que tu as commencé à faire... impossible de te répondre !

0
<?php
//RECHERCHE MOYENNE MAXIMALE
$requeteEXPmax = "select max(moyennenote) from note_php where  anneescolairenote='$anneescolaire' and matierenote='Expression-Orale' and classenote='$nomcla' and  trimestre='$trimestre'";
$resultatEXPmax = mysql_query($requeteEXPmax) or die(mysql_error()); $rowEXP1er=mysql_fetch_array($resultatEXPmax);
$RangEXP1er=$rowEXP1er[0];
//RECHERCHE NBRE DE MOYENNE SUP ET EGALE A LA NOTE
$requeteEXPrg = "select count(moyennenote) from note_php where anneescolairenote='$anneescolaire' and  moyennenote>'$rowEXP[0]' and moyennenote<='$RangEXP1er' and matierenote='Expression-Orale' and classenote='$nomcla' and  trimestre='$trimestre'";
$resultatEXPrg = mysql_query($requeteEXPrg) or die(mysql_error()); $rowEXPrg=mysql_fetch_array($resultatEXPrg);
$RangEXP=$rowEXPrg[0];
 if($rowEXP[0]==$RangEXP1er)  echo "1" ; else echo $RangEXP+1 ;
 ////RECHERCHE NBRE DE MOYENNE EGALE A NOTE
$requeteEXPex = "select count(moyennenote) from note_php where  anneescolairenote='$anneescolaire' and moyennenote='$rowEXP[0]' and matierenote='Expression-Orale' and classenote='$nomcla' and  trimestre='$trimestre'";
$resultatEXPex = mysql_query($requeteEXPex) or die(mysql_error()); $rowEXPrgex=mysql_fetch_array($resultatEXPex);
$RangEXPex=$rowEXPrgex[0];
 if($RangEXPex>1)  echo"ex" ; else echo"e" ;
?>


EDIT : Ajout des balises de code
0
ce code affiche le rang de la note et tenant compte des note égales
0
jordane45
Messages postés
35491
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 mai 2022
356
8 avril 2018 à 19:54
Bonjour Marco.
Déjà.. ton code utilise l'ancienne extension mysql. celle ci est considérée comme obsolète et ne sera ( ou ne l'ai plus d'ailleurs.....) utilisée.
Désormais, il faut passer par PDO ou mysqli.
http://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

Ensuite, ton code c'est (désolé pour le terme...) du bidouillage.
Sans compter qu'il faudrait avoir la même structure de table que celle utilisée dans ton code.
Structure de table qui ne me semble pas pertinente puisqu'il semble que tu y stockes déjà les "moyennes" des élèves.
Hors, il suffit de les calculer lorsqu'on en a besoin au lieu de les insérer en bdd.
0