IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Calculer la moyenne des élèves et le rang en PHP & MYSQL


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juin 2017
    Messages : 19
    Points : 6
    Points
    6
    Par défaut Calculer la moyenne des élèves et le rang en PHP & MYSQL
    Salut à tous je viens vers vous pour un petit souci.
    Je suis en train de développer une application web de gestion des notes d'une école, du coup je veux calculer la moyenne et le rang des élèves tout en gérant les ex aequo. svp j'utilise le langage php

    voici ma base de données

    cours (1).sql

    et mon modèle

    Nom : CaFSDpture.PNG
Affichages : 1316
Taille : 69,5 Ko

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 769
    Points : 43 954
    Points
    43 954
    Par défaut
    2 requêtes SQL devraient faire l'affaire : une retournant la moyenne de la sélection, l'autre affichant le classement.

    Il faudra bien-sûr prendre en compte l'année scolaire, la classe, et le coefficient (pour le coeff pas sûr qu'une requête suffise).

    Nous ne te donnerons pas un code tout fait.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juin 2017
    Messages : 19
    Points : 6
    Points
    6
    Par défaut
    svp vous pouvez me guider à travers ces deux requêtes???

  4. #4
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    déjà, 5 endroits contiennent exactement la même chose (vers 20h30 car les autres discussions sont plus là).

    Mon souci est que je comprends mal ton modèle Mysql Workbench :

    1- c'est quoi la classe module?

    2- pourquoi une classe etudiant et une classe etudiant_classe ? Quel est le rôle de chacune ?

    3- c'est quoi la classe lignenote ?

    4- il devrait pas y avoir un lien entre les classes etudiant et matiere, sachant qu'un étudiant suit N matières ?

    5- vu toutes mes questions, il faudrait expliciter le rôle de chaque classe.

  5. #5
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 905
    Points : 6 694
    Points
    6 694
    Par défaut
    Je ne sais pas quelle version de MySQL tu utilises mais s'il s'agit de la version 8, tu peux le faire assez facilement en une seule requête (à ce propos je te conseille de lire ceci).
    Quand bien même tu utiliserais une version plus ancienne, il te suffit de faire une requête pour calculer les moyennes à l'aide de la fonction d'agrégation SUM(), d'un peu de calcul et d'une clause GROUP BY. Tu ordonnes le tout, puis dans ton script PHP lorsque tu déroules les résultats (ordonnés donc) tu détermines au passage le rang.

  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    cosmo s'y connaît (je le sais depuis quelques temps). Mais si tu ne parviens à utiliser sa réponse, merci de répondre aux questions que j'ai posées au post #4.

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    je viens de tomber sur cette discussion : https://www.developpez.net/forums/d2...d-application/ qui est en rapport avec ce que tu veux faire. Les interventions de escartefigue te sont applicables aussi : tu n'as pas de table "épreuve", donc comment vas-tu créer une note ?

    D'autre part, il parle de règles de gestion :
    Citation Envoyé par escartefigue Voir le message
    c'est une excellente chose d'avoir formalisé les règles de gestion. Bravo
    Vous pouvez leur ajouter un identifiant (un numéro par exemple) ça facilite les échanges
    Ca serait l'idéal, plus qu'apporter une réponse à mes questions du post #4, auxquelles elles répondraient.

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juin 2017
    Messages : 19
    Points : 6
    Points
    6
    Par défaut CALCULER LA MOYENNE DES ELEVES ET LE RANG EN PHP & MYSQL
    Citation Envoyé par laurentSc Voir le message
    Bonsoir,

    déjà, 5 endroits contiennent exactement la même chose (vers 20h30 car les autres discussions sont plus là).

    Mon souci est que je comprends mal ton modèle Mysql Workbench :

    1- c'est quoi la classe module?

    2- pourquoi une classe etudiant et une classe etudiant_classe ? Quel est le rôle de chacune ?

    3- c'est quoi la classe lignenote ?

    4- il devrait pas y avoir un lien entre les classes etudiant et matiere, sachant qu'un étudiant suit N matières ?

    5- vu toutes mes questions, il faudrait expliciter le rôle de chaque classe.

    Bonjour

    1- le module (c'est le module qui contiendra dans cette table exemple: trimestre1,trimestre2)

    2- La table etudiant c'est la table qui vas stocke les informations des etudiants et la table etudiant_classe c'est dans cette table qu'on saura dans quel annee et classe l'etudiant ces inscrits

    3-La table lignenote ces cette table qui va stocke les notes des etudiants(exemple: matiere,notecours,notecomposition)

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 831
    Points
    5 831
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    avoir directement commencé par faire un MLD, c'est pas top ; vaudrait mieux commencer par un MCD. C'est ce que dit escartefigue qui s'y connait :
    Citation Envoyé par escartefigue Voir le message
    Il est préférable de commencer par le MCD plutôt que le MLD. Ca évite certaines erreurs. Avec un bon logiciel de modélisation, il est très facile de passer d'un modèle à l'autre (MCD, MLD, MPD indifféremment).
    Parmi les logiciels gratuits, il existe l'excellent looping que vous pouvez télécharger ici (une nouvelle version doit sortir ce WE )
    Non seulement, ça évite des erreurs, mais c'est plus clair. Et pour encore augmenter la clarté, je vais encore le citer :
    Citation Envoyé par escartefigue Voir le message
    Cela étant dit, c'est une excellente chose d'avoir formalisé les règles de gestion. Bravo
    Vous pouvez leur ajouter un identifiant (un numéro par exemple) ça facilite les échanges

Discussions similaires

  1. Calculer la moyenne des moyens.
    Par Invité dans le forum Requêtes
    Réponses: 3
    Dernier message: 02/09/2011, 16h15
  2. Réponses: 4
    Dernier message: 14/12/2009, 20h31
  3. calculer la moyenne des frames d'une vidéo
    Par jad777 dans le forum C++Builder
    Réponses: 1
    Dernier message: 26/10/2008, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo