Determiner le rang d'un élève

Fermé
modemo2018 Messages postés 231 Date d'inscription vendredi 15 novembre 2019 Statut Membre Dernière intervention 13 octobre 2022 - 23 déc. 2019 à 14:54
yg_be Messages postés 22728 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 4 mars 2020 à 16:20
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 39648 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 26 avril 2024 9 238
23 déc. 2019 à 15:07
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 231 Date d'inscription vendredi 15 novembre 2019 Statut Membre Dernière intervention 13 octobre 2022
13 janv. 2020 à 18:27
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 22728 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
13 janv. 2020 à 18:46
bonjour,
peux-tu partager ton code php ainsi que la requête qui te donne le rang?
0
modemo2018 Messages postés 231 Date d'inscription vendredi 15 novembre 2019 Statut Membre Dernière intervention 13 octobre 2022 > yg_be Messages postés 22728 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
Modifié le 14 janv. 2020 à 10:04


//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 22728 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476 > modemo2018 Messages postés 231 Date d'inscription vendredi 15 novembre 2019 Statut Membre Dernière intervention 13 octobre 2022
14 janv. 2020 à 10:48
peux-tu partager la requête qui te donne le rang?
0
modemo2018 Messages postés 231 Date d'inscription vendredi 15 novembre 2019 Statut Membre Dernière intervention 13 octobre 2022
4 mars 2020 à 15:17

 $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 22728 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
4 mars 2020 à 15:25
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 231 Date d'inscription vendredi 15 novembre 2019 Statut Membre Dernière intervention 13 octobre 2022
4 mars 2020 à 15:49
 $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 22728 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
4 mars 2020 à 16:20
je pense que tu n'as pas bien appliqué la suggestion.
0