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

Langage PHP Discussion :

Récupérer le total d'une somme [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Récupérer le total d'une somme
    Bonjour tout le monde,

    Je fais la somme d'une colonne par rapport au numéro de l'ID et du matricule de l'étudiant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql_somme_rubrique = "SELECT SUM(cote) as somme FROM `cotations` WHERE Matricule= '". $_POST['matricule_et'] ."' AND LEFT(Present_ou_pas,1) = ". $tab_reference[0];
     
     
    $query_somme_rubrique = mysql_query($sql_somme_rubrique);
    J'obtiens par exemple ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT SUM(cote) as somme FROM `cotations` WHERE Matricule= '06581' AND LEFT(Present_ou_pas,1) = 2
    Ce qui me donne par exemple :

    SUM(cote)
    5
    Je me demandais comment je pouvais exploiter le 5 ?

    J'ai essayé comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE totaux_rubriques SET Total_rubrique = ".somme." WHERE Matricule = ". $_POST['matricule_et'] . " AND ID_rubrique = ".$tab_reference[0]."
    mais sans succès.

    Auriez-vous une idée ?

    Merci d'avance.

    beegees

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut faire un "fetch" de la requete pour en recuperer les résultats.
    Revoit la documentation :
    http://php.net/manual/fr/function.mysql-query.php

  3. #3
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Il faut faire un "fetch" de la requete pour en recuperer les résultats.
    Revoit la documentation :
    http://php.net/manual/fr/function.mysql-query.php
    Salut,

    Merci pour ta réponse.

    J'ai testé avec le mysql_fetch_array :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sql_somme_rubrique = "SELECT SUM(cote) as somme FROM `cotations` WHERE Matricule= '". $_POST['matricule_et'] ."' AND LEFT(Present_ou_pas,1) = ". $tab_reference[0];
    $query_somme_rubrique = mysql_query($sql_somme_rubrique);
    $result = mysql_fetch_array($query_somme_rubrique);
    et je l'utilise ensuite dans ma chaine sql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql_update_total = "UPDATE totaux_rubriques SET Total_rubrique = ".$result['somme']." WHERE Matricule = ". $_POST['matricule_et'] . " AND ID_rubrique = ".$tab_reference[0]."";
    Sans succès, voici ce que j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO totaux_rubriques(Matricule, ID_rubrique, Total_rubrique) VALUES ('06581','2',)
    On peut voir que le 3e paramètre est vide :

    Qu'en penses-tu ?

    Encore merci.

    beegees

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne vois pas le lien entre l'update que tu fais et l'insert que tu montres.
    As-tu controlé ce que contenait $result ?

    Si les deux requetes se font dans la foulée, tu peux aussi placer directement ta requete SELECT dans la requete UPDATE.

  5. #5
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Je ne vois pas le lien entre l'update que tu fais et l'insert que tu montres.
    As-tu controlé ce que contenait $result ?

    Si les deux requetes se font dans la foulée, tu peux aussi placer directement ta requete SELECT dans la requete UPDATE.
    Re,

    Merci pour ta réponse.

    L'update met à jour au cas où l'enregistrement existe déjà et dans le cas contraire, c'est l'INSERT INTO qui prend la main.

    Je ne comprends pas bien ta réponse.

    Voici mon 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
    $sql_somme_rubrique = "SELECT SUM(cote) as somme FROM `cotations` WHERE Matricule= '". $_POST['matricule_et'] ."' AND LEFT(Present_ou_pas,1) = ". $tab_reference[0];
    	//echo $sql_somme_rubrique;
    	$query_somme_rubrique = mysql_query($sql_somme_rubrique);
    	$result = mysql_fetch_array($query_somme_rubrique);
     
    	//echo $result['cote'];
     
    	$sql_additionner = "SELECT * FROM totaux_rubriques WHERE Matricule = '".$_POST['matricule_et']."'AND ID_rubrique = " .$tab_reference[0];
    	$query_additionner = mysql_query($sql_additionner);
    	$result = mysql_fetch_array($query_additionner);
     
    	$nombre = mysql_num_rows($query_additionner);
     
    	// si il existe déjà dans la bd ==> UPDATE
    	if($nombre > 0)
    	{
    		$sql_update_total = "UPDATE totaux_rubriques SET Total_rubrique = ".$result['somme']." WHERE Matricule = ". $_POST['matricule_et'] . " AND ID_rubrique = ".$tab_reference[0]."";
    		echo "<Update Total> ". $sql_update_total;
    		$query_sql_update_total = mysql_query($sql_update_total);
    	}
    	// autrement INSERT INTO
    	else
    	{
    		$sql_insert_total = "INSERT INTO totaux_rubriques(Matricule, ID_rubrique, Total_rubrique) VALUES ('".$_POST['matricule_et']."','".$tab_reference[0]."',".$result['somme'].")";
    		echo "<INSERT INTO Total> ". $sql_insert_total;
    		$query_sql_insert_total = mysql_query($sql_insert_total);
    	}
    Encore merci pour ton aide.

    beegees

  6. #6
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Je viens de voir mon erreur sabotage :

    $result deux fois, le second écrasait le premier.

    Merci pour ton aide.

    beegees

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Récupérer le total d'une colonne d'une liste restreinte
    Par spookyz dans le forum IHM
    Réponses: 2
    Dernier message: 14/08/2014, 04h33
  2. Récupérer résultat d'une somme
    Par alex2746 dans le forum JDBC
    Réponses: 1
    Dernier message: 25/02/2010, 23h52
  3. [XL-2003] Faire une somme avec la fonction sous total
    Par Gwladys dans le forum Excel
    Réponses: 2
    Dernier message: 09/04/2009, 17h26
  4. Réponses: 5
    Dernier message: 15/09/2008, 15h06
  5. récupérer la taille totale d'une image avant chargement
    Par sorenson dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/06/2006, 14h50

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