Les calcul dans MySQL

Résolu/Fermé
ibnomar - Modifié le 19 déc. 2019 à 13:01
 Ibnomar - 20 déc. 2019 à 16:23
Salut les doyens ! J’ai besoin de votre aide( ça devient de habitude maintenant ????????)
En fait , j’ai fait des bulletins d’élèves et sur ma bases de données j’ai comme Colonne :
Anglais Français Science HG Total.

on mets les notes comme :

Anglais        Français     Science    HG     Total 
10 6 11 4
12 7 16 19


Pour avoir le total pour chaque ligne , j’ai saisi le code suivant :

$resp=$bdd->query (‘SELECT *FROM bulletin’);
While  ($rx=$resp->fetch()) {$rx[‘total’] =$rx[‘anglais’] + $rx[‘francais’] + $rx[‘science’] + $rx[‘HG’]; 
$dix=$bdd->prepare(‘ UPDATE bulletin SET total=:toto’);
$dix->execute (array(“toto”=>$rx[‘total])); }


Le problème est que le calcul ne se fait pas sur toutes les lignes. Ces seulement le total de la dernière entrée qui s’affiche dans toutes les colonnes Total de toutes mes entrées. Aidez moi à construire ma boucle ????????????
Désolé de la qualité de la saisie
A voir également:

1 réponse

jee pee Messages postés 39632 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 avril 2024 9 234
Modifié le 19 déc. 2019 à 12:58
Bonjour,

Pourquoi faire tout cela, une seule instruction, sans variable intermédiaire, peut solutionner le problème :

UPDATE bulletin SET total=anglais+français+science+HG


0
Ça marche ! Grandement merci. Je n’arrive pas à croire que j’ai passé une nuit blanche sur ça ????????????
0
jee pee Messages postés 39632 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 avril 2024 9 234 > Ibnomar
Modifié le 19 déc. 2019 à 14:15
C'est que tu ne résonnes pas en sql seul, tu as l'habitude du sql à travers php qui rajoute une couche supplémentaire
0
Ça marche effectivement. Mais j’ai remarqué que lorsqu’une colonne est NULL( ce qu’il y’a par défaut sur ma table ) le calcul ne marche pas.
0
jee pee Messages postés 39632 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 avril 2024 9 234 > Ibnomar
19 déc. 2019 à 15:48
il faut que tu utilises la fonction ifnull() pour chacun des champs
0
Ibnomar > jee pee Messages postés 39632 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 avril 2024
20 déc. 2019 à 01:38
S’il te plaît , comment utiliser la function ifnull dans mon cas ? De mon côté j’ai fait tout ce que je savais mais ça me renvoie une erreur : call to undefined function IFNULL()
0