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 :

Additionner des nombres dans un array [MySQL]


Sujet :

PHP & Base de donn�es

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Par d�faut Additionner des nombres dans un array
    Bonjour,

    J'aurais besoin d'aide pour faire un calcul dans un array, je voudrais additionner toutes les valeur que me ressort l'array dans une requete sql.
    Je met mon code pour plus de compr�hension.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?
    $variable = $_SESSION["variable"];
    $variable2 = $_SESSION["variable2"]; 
    {
    $reponse = mysql_query ("SELECT * FROM bca WHERE $variable LIKE '".$variable2."%' ORDER BY nom" )or die (mysql_error());
    while ($donnees = mysql_fetch_array($reponse) )
    {
    ?>
    La je fais une boucle pour sortir toutes les fiches.
    Ensuite j'affiche se qui m'interresse :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <? echo ($donnees['paye']); ?>
    Seulement je n'arrive pas � additionner le total !!!! j'ai bien bricoler des trucs avec count ou count array seulement �a me retourne le nombre de fiches mais pas le calcul du total....
    Donc si vous pouviez me donner un coup mains.
    De l'aide serait la bienvenue

    Merci d'avance pour vos r�ponses coll�giale.

  2. #2
    Membre �clair�
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    45
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 45
    Par d�faut
    c'est sum qu'il faut utiliser pas count

  3. #3
    Membre Expert Avatar de Bebel
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par d�faut
    Salut, pourquoi tu ne fais pas directement le calcul dans ta requete SQL?
    ou sinon tu peux regarder du cot� de la fonction array_map

  4. #4
    Membre �m�rite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par d�faut
    pourquoi tu ne calcul pas directement au niveau de ta requete en atilisant la fonction SUM
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    select *,sum(paye)  from table ...group by valeur

  5. #5
    Membre Expert Avatar de Bebel
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par d�faut
    Citation Envoy� par ouatmad
    pourquoi tu ne calcul pas directement au niveau de ta requete en atilisant la fonction SUM
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    select *,sum(paye)  from table ...group by valeur
    si tu selectionne *, ca risque de ne pas marcher ou alors ta condition group by n'est pas complete. Si je ne me trompe pas, quand tu fais un sum la clause group by est super importante.

  6. #6
    R�dacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    F�vrier 2004
    Messages
    13 721
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activit� : Directeur technique

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 13 721
    Par d�faut
    Bebel : oui, il faut "grouper" tous les champs utilis�s dans le SELECT qui ne sont pas utilis�s dans une fonction d'agr�gat.

  7. #7
    Membre �clair�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Par d�faut
    Alors j'ai modifier mon code en fonction de vos remarques et de l'aide de PHP.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <? 
    $reponse1 = mysql_query ("select nom, sum(paye)  from bca group by nom" )or die (mysql_error());
    while ($donnees1 = mysql_fetch_array($reponse1) )
    {
    ?>
     
    <? echo ($donnees1['sum(paye)']); ?>
    <?
    }
    ?>
    �a fonctionne presque seulement je n'ai toujours pas la somme du tableau... j'obtiens tous les chiffres les uns deriere les autres...

    � suivre

  8. #8
    Membre Expert Avatar de Bebel
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : A�ronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par d�faut
    Dans ce cas, tu obtiels la paye de tout le monde, mais si tu veux juste la somme total de la paye il faut faire :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <? 
    $reponse1 = mysql_query ("select sum(paye)  from bca" )or die (mysql_error()); 
    while ($donnees1 = mysql_fetch_array($reponse1) ) 
    { 
    ?> 
     
    <? echo ($donnees1['sum(paye)']); ?> 
    <? 
    } 
    ?>

  9. #9
    Membre �clair�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Par d�faut
    tip top

    MERCI A TOUS

  10. #10
    R�dacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    F�vrier 2004
    Messages
    13 721
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activit� : Directeur technique

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 13 721
    Par d�faut
    Ouaip, cela peut venir du fait que `paye` n'est pas toujours renseign�. Tu as deux solutions :

    Soit tu veux la somme des salaires existants
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    SELECT nom, SUM(paye)
    FROM bca
    WHERE paye > 0
    GROUP BY nom
    Soit tu veux la m�me somme qu'avant mais n'afficher que les sommes sup�rieures � z�ro :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    SELECT nom, SUM(paye) AS paye_totale
    FROM bca
    GROUP BY nom
    HAVING paye_totale > 0
    PS : Ma solution retourne la somme par employ�...

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [PHP 5.2] Additionner des nombres entiers dans une chaine de caract�res
    Par lecaptain dans le forum Langage
    R�ponses: 2
    Dernier message: 23/10/2009, 12h12
  2. R�ponses: 2
    Dernier message: 28/03/2006, 11h45
  3. probleme de trie des nombres dans mysql
    Par fwdavy dans le forum Administration
    R�ponses: 3
    Dernier message: 23/03/2006, 21h31
  4. additionner des nombres � virgules
    Par Phiss dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 22/03/2006, 10h35
  5. Utilisation des nombres dans Winsock2
    Par DeusXL dans le forum MFC
    R�ponses: 14
    Dernier message: 01/12/2004, 17h36

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