Determiner le rang d'un élève

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. 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. Contributeur
      bonjour,
      peux-tu partager ton code php ainsi que la requête qui te donne le rang?
      0
    2. @yg_be
      
      
      //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
    3. Contributeur
      @modemo2018peux-tu partager la requête qui te donne le rang?
      0
  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.  $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. Contributeur
      je pense que tu n'as pas bien appliqué la suggestion.
      0