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

PHP & Base de données Discussion :

Comment additionner ?


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 29
    Points : 25
    Points
    25
    Par défaut Comment additionner ?
    J'ai une page PHP qui reprend un tableau html dans lequel se trouvent plusieurs colonnes:
    Nom|Classe|Total|Matière|Heures|Pondération

    Dans ce tableau, je retrouve tous les enregistrements des points d'élèves pour leur bulletin classés par élève.
    Exemple:
    Elève1|2|68|Français|4|272
    Elève1|2|70|Math|4|280
    Elève1|2|60|Géo|2|120
    ...
    Elève2|5|50|Français|5|250
    Elève2|5|80|Math|6|480
    ...

    Je voudrais pouvoir afficher le total de la dernière colonne mais par élève ; quitte à refaire une autre requête pour avoir un tableau avec les colonnes classes, élève et moyenne.
    La finalité est de pouvoir ensuite reprendre ce total par élève dans un FPDF qui affiche le bulletin complet de cet élève.

    Merci pour vos lumières.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2004
    Messages : 161
    Points : 142
    Points
    142
    Par défaut
    Tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT SUM(ponderation) AS ma_somme FROM latable GROUPE BY nom_eleve

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    J'ai refait un tableau sous celui que j'avais déjà
    Nom|Classe|Moyenne

    Les élèves s'affichent bien un à un par ordre alphabétique, la classe n'apparait pas et la moyenne est de 0 pour tout le monde!

    J'ai du louper un épisode quelque part!!!

    Merci de m'éclairer

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2004
    Messages : 161
    Points : 142
    Points
    142
    Par défaut
    Tu peux mettre le format de ta table et ce que tu souhaite exactement.

    Parce que la requee que je t'ai proposé ne va récupérer que le total de la dernière colonne regroupé par élève

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    J'ai plusieurs tables contenant les données adéquates
    table élèves:
    id
    nom élève
    classe
    table matières:
    id
    nom matière
    prof
    classe
    nb heures
    table bulletin:
    id
    numéro cours
    numéro élève
    points

    J'ai créé un jeu d'enregistrement (requête) qui me donne sur une page PHP un tableau reprenant par élève toutes les branches qu'il suit et les points multipliés par le nombre d'heures par branche.

    J'aimerai calculer avec cela une moyenne pondérée par élève qui devrait être égale à
    [(nh heures x points branche1) + (nb heures x points branche2) +......]/ nb d'heures total pour l'élève en question

    Cette moyenne pondérée devrait figurer ensuite sur un bulletin en FPDF qui est déjà fait et où je souhaite simplement ajouter une case avec cette moyenne.

    Enfin toutes les notes des élèves (en %) devraient appraaitre sur une feuille (FPDF de préférence) sous forme d'un tableau à 2 entrées: àgauche les élèves, en haut les branches!

    Merci d'avance.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Février 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2004
    Messages : 161
    Points : 142
    Points
    142
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT eleve.nom, SUM(point*nb_heure) as pondere, SUM(nb_heure) as heure FROM bulletin JOIN eleve ON eleve.id = numero_eleve JOIN matiere ON matiere.id = numero_cours GROUP BY eleve.id
    Avec ça tu as la somme de tes moyenne et la somme de tes heures totales.
    Ensuite tu as plus qu'à faire la division en php et à l'afficher

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Février 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2004
    Messages : 161
    Points : 142
    Points
    142
    Par défaut
    Tu peux même directement faire ta division dans msql
    avec SELECT (SUM(point*nb_heure)/SUM(nb_heure)) as moyenne_ponderee

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    La première fonctionne bien en mode Test

    SELECT bulluc_2006_2007_eleves.nom, SUM(bulluc_2006_2007_bulletin_1.TOTALNOEL*bulluc_2006_2007_matieres.heures) AS pondere, SUM(bulluc_2006_2007_matieres.heures) AS heures FROM bulluc_2006_2007_bulletin_1 JOIN bulluc_2006_2007_eleves ON bulluc_2006_2007_eleves.id = bulluc_2006_2007_bulletin_1.eleve JOIN bulluc_2006_2007_matieres ON bulluc_2006_2007_matieres.id = bulluc_2006_2007_bulletin_1.cours GROUP BY bulluc_2006_2007_eleves.id

    La seconde donne une erreur de syntaxe:
    SELECT bulluc_2006_2007_eleves.nom, (SUM(bulluc_2006_2007_bulletin_1.TOTALNOEL*bulluc_2006_2007_matieres.heures)/SUM bulluc_2006_2007_matieres.heures) AS moyenne_ponderee FROM bulluc_2006_2007_bulletin_1 JOIN bulluc_2006_2007_eleves ON bulluc_2006_2007_eleves.id = bulluc_2006_2007_bulletin_1.eleve JOIN bulluc_2006_2007_matieres ON bulluc_2006_2007_matieres.id = bulluc_2006_2007_bulletin_1.cours GROUP BY bulluc_2006_2007_eleves.id


    Que se passe-t-il???

    Merci encore!

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Février 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2004
    Messages : 161
    Points : 142
    Points
    142
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    La seconde donne une erreur de syntaxe:
    SELECT bulluc_2006_2007_eleves.nom,
    (SUM(bulluc_2006_2007_bulletin_1.TOTALNOEL*bulluc_2006_2007_matieres.heures)/
     SUM(bulluc_2006_2007_matieres.heures) ) AS moyenne_ponderee 
    FROM bulluc_2006_2007_bulletin_1 
    JOIN bulluc_2006_2007_eleves ON bulluc_2006_2007_eleves.id = bulluc_2006_2007_bulletin_1.eleve 
    JOIN bulluc_2006_2007_matieres ON bulluc_2006_2007_matieres.id = bulluc_2006_2007_bulletin_1.cours 
    GROUP BY bulluc_2006_2007_eleves.id
    Un oubli de parenthèse !

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 29
    Points : 25
    Points
    25
    Par défaut
    Oki

    As -tu une idée des codes à placer pour faire apparaitre la moyenne de chaque élève sur son bulletin personnel (le bulletin est édité en PHP) et ensuite d'établir un tableau de synthèse (édité en FPDF) pour la classe avec en titres de lignes, les noms d'élèves et en titres de colonnes, les matières.

    Merci encore ;-)

Discussions similaires

  1. Comment additionner 2 DataTables ?
    Par Contrec dans le forum C#
    Réponses: 7
    Dernier message: 27/07/2007, 13h31
  2. comment additionner des champs appartenant à la meme table
    Par VIRGINIE87 dans le forum Langage SQL
    Réponses: 25
    Dernier message: 12/04/2007, 14h40
  3. Réponses: 3
    Dernier message: 16/03/2007, 17h49
  4. Comment additionner les valeurs de 3 labels
    Par morrison29 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 16/11/2006, 19h52
  5. [Excel]Données d'un graph : comment additionner ?
    Par illight dans le forum Excel
    Réponses: 2
    Dernier message: 04/11/2006, 12h30

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