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 :

Calcul par matière / module


Sujet :

PHP & Base de données

  1. #21
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut
    Merci RideKick

    j'ai changé titre en NomMatiere
    desolee

    mais la moyenne n'est calcule j'ai la note quoi

    Merci d'avance

  2. #22
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par lilia_dream Voir le message
    mais la moyenne n'est calcule j'ai la note quoi
    Dans ce cas la faut changer le group by pour grouper par modules :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT n.idnote, n.note, n.idetudiant, e.NomEtud, mo.nom AS NomModule, m.titre AS NomMatiere, AVG( n.note ) AS SommeNote
    FROM matiere m
    LEFT JOIN notes n ON n.idmatiere = m.idmatiere
    LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant
    LEFT JOIN module mo ON m.idmodule = mo.idmodule
    GROUP BY mo.idmodule
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #23
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut
    Superbe RideKick

    ca marche bien

    desolee RideKick je voudrais multiplier la coffecient fois la matiere puis claculer la moyenne par matiere dans un champ appare

    puis la calculer de moyenne par module dans un champ appare


    Merci RideKick de votre temps

  4. #24
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Tu peux demander d'afficher le coefficient , ensuite tu peux faire le calcul via PHP
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #25
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut
    Salut

    je viens d'inserer le nom du champ coefficient dans la requete mais j'ai trouvee que les noms des matiere sont disparues
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $query="SELECT n.idnote, n.note, n.idetudiant, e.NomEtud,coefficient,mo.nom AS NomModule, m.titre*coefficient AS NomMatiere, AVG( n.note ) AS SommeNote
    FROM matiere m
    LEFT JOIN notes n ON n.idmatiere = m.idmatiere
    LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant
    LEFT JOIN module mo ON m.idmodule = mo.idmodule
    GROUP BY mo.idmodule";
    pourrais-tu RideKick m'expliquer l'erreur
    Merci d'avance

  6. #26
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Normal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m.titre*coefficient AS NomMatiere
    il faut le faire separement sinon tu remplace le champs NomMatiere par la multiplication :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (n.note*coefficient) AS Moy , m.titre AS NomMatiere
    au passage vaut mieu multiplier une note par un coeficient que le nom de la matiere ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  7. #27
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut
    Salut RideKick

    Voici le nouveau code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <?php
    // Connexion au serveur
     
    $connexion = mysql_connect($host,$user,$pass)or die ("Erreur de connexion");
                 mysql_select_db($dbase,$connexion)or die ("Erreur de connexion base");
     
    	$query="SELECT n.idnote, n.note, n.idetudiant, e.NomEtud,coefficient,mo.nom AS NomModule, 
    	          (n.note*coefficient) AS Moy , m.titre AS NomMatiere
                  FROM matiere m
                  LEFT JOIN notes n ON n.idmatiere = m.idmatiere
                  LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant
                  LEFT JOIN module mo ON m.idmodule = mo.idmodule
                  GROUP BY mo.idmodule";
    	$result = mysql_query($query)or exit('Erreur: '.mysql_error());
     
    ?>
     
    		<table bgcolor="" width="50" border="1" cellspacing="1" cellpadding="1">
    			<tr>
    				<td bgcolor=""><div style="text-align: center"><b>Code_Note</b></div></td>
    				<td bgcolor=""><div style="text-align: center"><b>Code_Etudaint</b></div></td>
    				<td bgcolor=""><div style="text-align: center"><b>Nom_Etudiant</b></div></td>
    				<td bgcolor=""><div style="text-align: center"><b>Nom_Matiere</b></div></td>
    				<td bgcolor=""><div style="text-align: center"><b>Coefficient</b></div></td>
    				<td bgcolor=""><div style="text-align: center"><b>MoyenneMatiere</b></div></td>
    				<td bgcolor=""><div style="text-align: center"><b>MoyenneModule</b></div></td>
     
    			</tr>';
     
    		<?php
    		while ($row = mysql_fetch_array($result)) 
    		{
    		?>
     
    			<tr>
    				<td bgcolor="#CCCCCC"> <?php echo $row["idnote"] ?> </td>
    				<td><div align="center"><?php echo $row['idetudiant'] ?></div></td>
    				<td><div align="center"> <?php echo $row['NomEtud'] ?></div></td>
    				<td><div align="center"><?php echo $row['NomMatiere'] ?></div></td>
    				<td><div align="center"><?php echo $row['coefficient'] ?></div></td>
    				<td><div align="center"> <?php echo$row['note'] ?></div></td>
                    <td><div align="center"> <?php echo$row['Moy'] ?></div></td>
    			</tr>
     
     
    		<?php
    		}
    		?>
    l'image ci-jointe

    Merci de votre aide

  8. #28
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut
    Bonjour à tous

    bonjour RideKick

    ben,jai des probleme au niveau de calcule,je devrais calculer la somme des matiere de chauqe Module apres je clacule la moyenne

    et d'apres le tableau en haut ,le calcul n'est pas correct

    Merci de votre aide

  9. #29
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Ce n'est jamais qu'un problème de mathématiques , tu devrais d'abord détailler le calcul sur une feuille , une fois celui ci valide l'appliquer a ton code !
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  10. #30
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut
    Merci RideKick

    je suis ravie de votre aide

    Citation Envoyé par RideKick
    Ce n'est jamais qu'un problème de mathématiques , tu devrais d'abord détailler le calcul sur une feuille , une fois celui ci valide l'appliquer a ton code !
    -- Moyenne par Matière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SUM(Note * Coeff)/SUM(Coeff) AS Moyenne
    ben le probleme se situe au niveau de ma requete toujours je trouve pas la bonne resultat

    Merci d'avance

  11. #31
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (SUM(Note * Coeff)/SUM(Coeff)) AS Moyenne
    ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  12. #32
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut


    mais c'est juste j'aimerai savoir est-ce que la formule est correcte parcque je viens d'integrer cette formule dans ma requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SUM(Note * Coeff)/SUM(Coeff) AS Moyenne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT n.idnote, n.note, n.idetudiant, e.NomEtud,coefficient,mo.nom AS NomModule, SUM(n.note*coefficient)/SUM(coefficient) AS Moyenne
     , m.titre AS NomMatiere
                  FROM matiere m
                  LEFT JOIN notes n ON n.idmatiere = m.idmatiere
                  LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant
                  LEFT JOIN module mo ON m.idmodule = mo.idmodule
                  GROUP BY mo.idmodule
    Merci d'avance

  13. #33
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    La formule est juste
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  14. #34
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut
    Merci

    Citation Envoyé par RideKick
    La formule est juste


    c'est juste la formule de claculer Moyenne par Matière
    je souhaiterai ajouter aussi la formule de calculer Moyenne par Moduleddans la meme requete

    Merci d'avance

  15. #35
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par lilia_dream Voir le message
    [/B]je souhaiterai ajouter aussi la formule de calculer Moyenne par Moduleddans la meme requete
    Pas possible car la moyenne par matiere demande un GROUP BY par matiere et la moyenne par module demande un GROUP BY par module ...donc 2 requettes.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  16. #36
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par RideKick
    Pas possible car la moyenne par matiere demande un GROUP BY par matiere et la moyenne par module demande un GROUP BY par module ...donc 2 requettes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ------Moyenne par Matière-----------
     
    SELECT n.idnote, n.note, n.idetudiant, e.NomEtud,coefficient,mo.nom AS NomModule, SUM(n.note*coefficient)/SUM(coefficient) AS Moyenne
     , m.titre AS NomMatiere
                  FROM matiere m
                  LEFT JOIN notes n ON n.idmatiere = m.idmatiere
                  LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant
                  LEFT JOIN module mo ON m.idmodule = mo.idmodule
                  GROUP BY mo.idmodule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    -- Moyenne par Module
    SELECT nom AS NomModule,SUM(Note * Coeff)/SUM(Coeff) AS Moyenne
    FROM Note
     LEFT JOIN notes n ON n.idmatiere = m.idmatiere
     LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant
     LEFT JOIN module mo ON m.idmodule = mo.idmodule
     GROUP BY mo.idmodule
    alors je ferais comme ca non

    Merc d'avance

  17. #37
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Si tu groupe les 2 par idModule c'est la même requête ...
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  18. #38
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par RideKick
    Si tu groupe les 2 par idModule c'est la même requête ...
    cette requete est-elle correcte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ------Moyenne par Matière-----------
     
    SELECT n.idnote, n.note, n.idetudiant, e.NomEtud,coefficient,mo.nom AS NomModule, SUM(n.note*coefficient)/SUM(coefficient) AS Moyenne
     , m.titre AS NomMatiere
                  FROM matiere m
                  LEFT JOIN notes n ON n.idmatiere = m.idmatiere
                  LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant
                  LEFT JOIN module mo ON m.idmodule = mo.idmodule
                  GROUP BY m.idmatiere
    Merci d'avance

  19. #39
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Mieux oui ...
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  20. #40
    Membre du Club Avatar de lilia_dream
    Inscrit en
    Mars 2009
    Messages
    267
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 267
    Points : 43
    Points
    43
    Par défaut
    Merci RideKick

    Citation Envoyé par RideKick
    Mieux oui ...


    mais RideKick est-ce la requete de caclue Moyenne par module est correcte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    -- Moyenne par Module
    SELECT nom AS NomModule,SUM(Note * Coeff)/SUM(Coeff) AS Moyenne
    FROM Note
     LEFT JOIN notes n ON n.idmatiere = m.idmatiere
     LEFT JOIN etudiant e ON e.idetudiant = n.idetudiant
     LEFT JOIN module mo ON m.idmodule = mo.idmodule
     GROUP BY mo.idmodule
    Merci d'avance

Discussions similaires

  1. Requête syntaxe de calcul par comparaison
    Par valalu dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/07/2007, 11h41
  2. Réponses: 3
    Dernier message: 24/03/2007, 13h42
  3. Saisie de calcul par l'utilisateur
    Par zenaf dans le forum C
    Réponses: 11
    Dernier message: 26/10/2006, 19h42
  4. Pb Requetes et calcul par condition
    Par flagfight dans le forum Access
    Réponses: 2
    Dernier message: 19/05/2006, 10h30
  5. [Access] Calcule par ligne dans une requête
    Par Belze dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/02/2006, 09h09

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