Determiner le rang d'un élève

modemo2018 Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour chers tous,

j'ai conçu un code qui me permet d'afficher les élèves d'une classe selon leurs moyenne,

Quelqu'un peut-il m'aider sur comment écrire une requête qui permet d'afficher le rang de chaque élève

4 réponses

jee pee Messages postés 41526 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Bonjour,

Tu devrais t'inspirer de : https://www.developpez.net/forums/d139375/bases-donnees/langage-sql/sql-server-probl-me-classement-calcul-d-rang/ solution qui prend en compte les ex aequo
0
modemo2018 Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   2
 
Merci pour le lien, Comment pourrai ecrire en PHP si j'ai envi de recuperer le RANG d'un élève et l'afficher à part?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
bonjour,
peux-tu partager ton code php ainsi que la requête qui te donne le rang?
0
modemo2018 Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   2 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 


//Recherche les noms et prenoms des élèves
 $sql = "SELECT E.* , M.*
         FROM eleve E
         LEFT JOIN moyengeneral M ON M.ideleve = E.ideleve
         WHERE E.class = ? 
         AND E.iduser = ? AND M.moyene >= ? 
         ORDER BY M.moyene DESC";
 $datas = array($class, $iduser, $moyen);
 
  try {  
    $req = $bdd->prepare($sql);
    $req->execute($datas);
    $donnees = $req->fetchAll(); //on stocke le resultat de la requete dans un ARRAY
  } catch(Exception $e){
      die('Erreur : '.$e->getMessage());
  }   
  
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > modemo2018 Messages postés 226 Date d'inscription   Statut Membre Dernière intervention  
 
peux-tu partager la requête qui te donne le rang?
0
modemo2018 Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   2
 

 $sql = "SELECT E.* , M.*
         FROM eleve E
         LEFT JOIN moyengeneral M ON M.ideleve = E.ideleve
         WHERE E.class = ? 
         AND E.iduser = ? 
         ORDER BY M.moyene DESC";
 $datas = array($class, $iduser);
 
  try {  
    $req = $bdd->prepare($sql);
    $req->execute($datas);
    $donnees = $req->fetchAll(); //on stocke le resultat de la requete dans un ARRAY
  } catch(Exception $e){
      die('Erreur : '.$e->getMessage());
  }   


J'aimerai recupéré le RANG d'un élève selon sa moyenne et l'afficher à part,
Comment puis-je procédé SVP?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
as-tu compris et utilisé les informations données ici: https://forums.commentcamarche.net/forum/affich-36377033-determiner-le-rang-d-un-eleve#1
0
modemo2018 Messages postés 226 Date d'inscription   Statut Membre Dernière intervention   2
 
 $sql = "SELECT E.* , M.*
         FROM eleve E
         LEFT JOIN moyengeneral M ON M.ideleve = E.ideleve
         WHERE E.class = ? 
         AND E.iduser = ? AND M.moyene >= ? 
         ORDER BY Rang DESC";
 $datas = array($class, $iduser, $moyen);


Quand je met Rang à la place de la moyenne, il m'affiche une erreur:

Erreur : SQLSTATE[42S22]: Column not found: 1054 Unknown column 'rang' in 'order clause'
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
je pense que tu n'as pas bien appliqué la suggestion.
0