Merci RideKick
desoleej'ai changé titre en NomMatiere
mais la moyenne n'est calcule j'ai la note quoi
Merci d'avance
Merci RideKick
desoleej'ai changé titre en NomMatiere
mais la moyenne n'est calcule j'ai la note quoi
Merci d'avance
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
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
Tu peux demander d'afficher le coefficient , ensuite tu peux faire le calcul via PHP
Salut
je viens d'inserer le nom du champ coefficient dans la requete mais j'ai trouvee que les noms des matiere sont disparues
pourrais-tu RideKick m'expliquer l'erreur
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";
Merci d'avance
Normal :
il faut le faire separement sinon tu remplace le champs NomMatiere par la multiplication :
Code : Sélectionner tout - Visualiser dans une fenêtre à part m.titre*coefficient AS NomMatiere
au passage vaut mieu multiplier une note par un coeficient que le nom de la matiere ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part (n.note*coefficient) AS Moy , m.titre AS NomMatiere
Salut RideKick
Voici le nouveau code
l'image ci-jointe
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 } ?>
Merci de votre aide
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
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 !
Merci RideKick
je suis ravie de votre aide
-- Moyenne par MatièreEnvoyé par RideKick
ben le probleme se situe au niveau de ma requete toujours je trouve pas la bonne resultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part SUM(Note * Coeff)/SUM(Coeff) AS Moyenne
Merci d'avance
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part (SUM(Note * Coeff)/SUM(Coeff)) AS Moyenne
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 MoyenneMerci d'avance
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
La formule est juste
Merci
Envoyé par RideKick
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
Envoyé par RideKick
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.idmodulealors je ferais comme ca non
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
Merc d'avance
Si tu groupe les 2 par idModule c'est la même requête ...
cette requete est-elle correcteEnvoyé par RideKick
Merci d'avance
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
Mieux oui ...
Merci RideKick
Envoyé par RideKick
mais RideKick est-ce la requete de caclue Moyenne par module est correcte
Merci d'avance
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager