Salut ,tous le monde
j'ai une table (livret-scolaire)qui contient plusieurs champs de type float ,
je souhaite compter la somme de ces champs,
quelqu'un peut me montrer la requête qui convient,
Merci
Salut ,tous le monde
j'ai une table (livret-scolaire)qui contient plusieurs champs de type float ,
je souhaite compter la somme de ces champs,
quelqu'un peut me montrer la requête qui convient,
Merci
Bonjour,
La seomme de toutes les notes de la table
La somme des notes d'un élève :
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT sum(notes) FROM livret;
La somme des notes par élève :
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT sum(notes) FROM livret WHERE eleve='Pierre';
Z.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT eleve, sum(notes) FROM livret GROUP BY eleve;
non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part select sum(ta-colonne1) as total1, sum(ta-colonne2) as total2 from livret-scolaire
edit : a zut, plus rapide =)
Est ce que je peux mettre ca:
parce que j'ai pleins de notes????
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT sum(*) FROM livret;
non, il te faudra explicitement rentrer tes champs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT sum(francais + anglais + histoire) FROM livret;
re;
Je trouve un problème............comment récupérer les données de la requête de la somme
par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $somme=mysql_query("SELECT sum(alphabet1 + alphabet2 + alphabet3 ) FROM livret_scolaire WHERE pseudo='".$_SESSION['login']."'")or die(mysql_error()); $somme_donnees=mysql_fetch_ssoc['$somme']; $moyenne=$somme_donnees['']/$nb['nbre'];
alors 2 possibilités...
SOIT :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $somme=mysql_query("SELECT sum(alphabet1 + alphabet2 + alphabet3 ) FROM livret_scolaire WHERE pseudo='".$_SESSION['login']."'")or die(mysql_error()); $somme = mysql_result($somme, 0);
SOIT :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $somme=mysql_query("SELECT sum(alphabet1 + alphabet2 + alphabet3 ) AS total FROM livret_scolaire WHERE pseudo='".$_SESSION['login']."'")or die(mysql_error()); $r = mysql_fetch_assoc($somme); $somme = $r['total'];
RE,
en faite je souhaite calculer la moyenne d'un apprenant,
à partir de la table livret_scolaire qui contient ses notes,
le problème c'est que la table livret_scolaire contient des champs(note1,note2,..) qui sont de valeur null, et lorsqu l'utilisateur passe un test la table livret_scolaire se met à jour et les note sont ajoutées
j'ai utilisé ce code mais y'aune erreur
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\monsite\dossier special\monlivret.php on line 205
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 <?php if(isset($_SESSION['login'])){ mysql_connect('localhost','root',''); mysql_select_db("base"); $nbr_test = mysql_query("SELECT COUNT(*) AS nbre FROM livret_scolaire WHERE pseudo='".$_SESSION['variable']."'")or die(mysql_error()); $nb = mysql_fetch_assoc($nbr_test); $somme=mysql_query("SELECT sum(alphabet1 + alphabet2 + alphabet3 ) AS total FROM livret_scolaire WHERE pseudo='".$_SESSION['login']."'")or die(mysql_error()); $r = mysql_fetch_assoc($somme); $somme = $r['total']; $moyenne=$r['total']/$nb['nbre']; $mean=mysql_query("UPDATE `base`.`livret_scolaire` SET `moyenne` = '".$moyenne."' WHERE `livret_scolaire`.`pseudo` = '".$_SESSION['login']."' ") or die("mysql error"); $mm=mysql_fetch_array($mean); echo'votre moyenne est:'.$mm['moyenn'].''; } ?>
Que dois-je mettre??
quand tu fais un update, tu ne recupere aucune valeure.. donc ton mysql_fetch_array ne sert a rien
et suffit de faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql_query("UPDATE `base`.`livret_scolaire` SET `moyenne` = '".$moyenne."' WHERE `livret_scolaire`.`pseudo` = '".$_SESSION['login']."' ") or die("mysql error");
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo 'votre moyenne est : '.$moyenne;
Oui c'est vrai ,mais mon code souffre de quelque chose, il m'affiche juste la somme et pas la division??j'ai alphabet1=20,alphabet2=20,alphabet3=20, alors normalement la moyenne est 20 pas 60???ou se trouve le problème ,
la table livret_scolaire contient quoi ? Je doute qu'elle contienne les noms des différentes matières, or d'après le code c'est ce qu'elle serait censée contenir.
$nb['bre'] contient le nombre de lignes présentes dans "livret_scolaire", si ces lignes ne correspondent pas au nombre de matières de la somme effectuée la moyenne sera forcément fausse
Si le nombre de matière est fixe, il suffit de remplacer $nb['bre'] dans la division par le nombre de matière (et de supprimer la requête SELECT COUNT(*) livret_scolaire car elle est, alors, inutile)
Voici ce qu'il se passe à mon avis :
il n'y a qu'une seule ligne dans livret_scolaire, donc le calcul est le suivant :
(20+20+20)/1 = 60
RE,
Non la table livret_scolaire contient les notes des exercices associés à chaque cour ,par exemple alphabet1 et la note de l'exercice du cour de l'alphabet n°1
mon problème c'est que le nombre des exrcices passés n'est pas fixe, il change qu'a chaque fois que l'utilisateur passe un exercice , donc je dois compter le nombre des exercices passés par l'utilisateur ??donc je coyais que la requête SELECT COUNT me servira de savoir le nombre des exercices passés par l'utilisateur???
oops pardon j'avais mal vu les requêtes... ^^
Quoi qu'il en soit, le chiffre à diviser est maintenant évidant en re-regardant les requetes : il s'agit de 3
Ce n'est pas un nombre variable car vous additionnez 3 champs pour la moyenne il vous faudra donc diviser par 3 pour avoir la moyenne de chaque ligne !
Pour avoir la moyenne général, il faudra donc faire la somme des moyennes divisée par le nombre d'exercices (le fameux SELECT COUNT(*))
Ok, Merci beaucoupppppppppppppppp darkstar123456 pour l'idée ,je vois bien maintenant que dois je faire,entre nous t s un miracleeee darkstar123456
![]()
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