Determiner le rang d'un élève

modemo2018 Messages postés 254 Statut Membre -  
yg_be Messages postés 23437 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

  1. modemo2018 Messages postés 254 Statut Membre 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
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      bonjour,
      peux-tu partager ton code php ainsi que la requête qui te donne le rang?
      0
      1. modemo2018 Messages postés 254 Statut Membre 2 > yg_be Messages postés 23437 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
      2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > modemo2018 Messages postés 254 Statut Membre
         
        peux-tu partager la requête qui te donne le rang?
        0
  2. modemo2018 Messages postés 254 Statut Membre 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
  3. modemo2018 Messages postés 254 Statut Membre 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
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      je pense que tu n'as pas bien appliqué la suggestion.
      0