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

Flex Discussion :

Comment Afficher la somme d'une colonne d'une base de données dans une "Textarea" ?


Sujet :

Flex

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2009
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Comment Afficher la somme d'une colonne d'une base de données dans une "Textarea" ?
    Salut,



    Je veux tout simplement, Afficher la somme d’une colonne [Par Exemple Colonne ‘’Avril ‘’, indiqué sur le Tableau [M1] (Capture)] dans la ‘’Textarea‘’ [M2]

    Merci !

    N.B : Je Travaille avec Flex Builder 3 + PHP 5.2.1 + MySql

  2. #2
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Salut,

    et bien il suffit d'additionner
    Soit tu le fait coté serveur en php et tu prépares tes données, soit tu le fait coté client, mais pour le code je pense que je n'ai pas besoin de t'expliquer le principe de l'addition

    EDIT: allez parce que je suis de bonne humeur (dp étant le dataprovider du datagrid):
    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
     
    ...
    public function sumFunction(item:Object, col:DataGridColumn):String
    {
    	var n:int = dp.length;
    	var avg:Number = 0;
    	for (var i:int = 0; i < n; i++)
    	{
    		avg += item.value;
    	}
    	return avg;
    }
    ...
    <mx:DataGridColumn labelFunction="sumFunction" />
    ...

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2009
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Merci !
    Bonjour,

    Merci énormément Mr Jim , vous êtes toujours là quand ça touche Flex , soit ici , soit sur flex-tutorial etc ...

    Ça fait X-temps [X = 6 mois] que j’ai pas utilisé Flex, de plus que je suis un vrai Débutant ….

    Alors je ne sais même pas ou je vais mettre le script que vous m’avez donné :s


    J’ai essayé ..... et je l’ai mis ici >

    J’ai mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     public function sumFunction(item:Object, col:DataGridColumn):String
    {
    	var n:int = dp.length;
    	var avg:Number = 0;
    	for (var i:int = 0; i < n; i++)
    	{
    		avg += item.value;
    	}
    	return avg;
    }
    Dans >



    Et j’ai mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    <mx:DataGridColumn labelFunction="sumFunction" />
    ...
    Dans >




    Il m'affiche la seul erreur suivante >



    Voici la base de données > Tcommerce.sql

    Enfin , Voici le projet en zip > Tcommerce.zip

    Merci !

  4. #4
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    il faut que ton retour de ta fonction sumFunction soit une String
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return avg.toString();

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2009
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Mais ... :s
    Effectivement Mais .... si vous saviez que .... quand je l'ai fais , il m'affiche > Le NaN ?????



    Sans me donner aucune erreur

  6. #6
    Membre confirmé Avatar de Diablo_22
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 498
    Points : 490
    Points
    490
    Par défaut
    désigne le résultat d'un calcul numérique indéterminé (par exemple le résultat de 0/0).
    Le NaN peut provenir du fait que tu essaye d'afficher un String à la place d'un entier
    N'oubliez pas la balise

    est ton ami mais quand Google ne trouve pas quelque choses, il demande à Chuck Norris.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    Le problème vient du fait que tu as utilisé le code de Jim tel quel alors que c'était un exemple et de plus un exemple vérolé (pardon Jim).

    Pour le total par ligne il faut additionner les champs correspondant aux mois.
    Le paramètre item correspond aux données de la ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public function sumFunction(item:Object, col:DataGridColumn):String
    {
    	var sum:Number = 0;
    	sum += item.JanvierCol;
    	sum += item.FevrierCol;
            // etc.....
    	sum += item.DecembreCol;
    	return sum;
    }
    jyl@xx
    "Simplicity does not precede complexity, but follows it." Alan Perlis

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2009
    Messages : 24
    Points : 18
    Points
    18
    Par défaut
    à Diablo >

    - Désigne le résultat d'un calcul numérique indéterminé (par exemple le résultat de 0/0). > Bien Compris [Merci!]

    - Le NaN peut provenir du fait que tu essaye d'afficher un String à la place d'un entier > [Exactement]

    à jylaxx >

    - Le problème vient du fait que tu as utilisé le code de Jim tel quel > Oui

    - Code > Pour le code j'ai essayé avec le votre , ça donne la même Erreur



    Que Faire Alors ???

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    Les réponses fournies sont pas toujours un code fonctionnellement correct car non testé. Il faut savoir adapter et corriger les solutions fournies...

    Tes champs semblant être du type String il faut les convertir !!

    sum += Number( item.JanvierCol );
    ou
    sum += int( item.JanvierCol );

    Pour choisir l'une des options lire ceci :
    String values that contain non-numeric characters return 0 when cast with int() or uint() and NaN when cast with Number(). The conversion process ignores leading and trailing white space, but returns 0 or NaN if a string has white space separating two numbers.
    jyl@xx
    "Simplicity does not precede complexity, but follows it." Alan Perlis

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2009
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Merci c'est Résolu :)
    Merci tout le monde

    Enfin c'est bien réglé

    avec un petit changement est ça marche , il fallait mettre le int à la place de String et suivant le "sum += int( item.FevrierCol );" de Mr jylaxx > Resultat = Parfait !

    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
    public function sumFunction(item:Object, col:DataGridColumn):int
    {
    	var sum:Number = 0;
        sum += int( item.JanvierCol );
        sum += int( item.FevrierCol );
        sum += int( item.MarsCol );
        sum += int( item.AvrilCol );
        sum += int( item.MaiCol );
        sum += int( item.JuinCol );
        sum += int( item.JuilletCol );
        sum += int( item.AoutCol );
        sum += int( item.SeptembreCol );
        sum += int( item.OtobreCol );
        sum += int( item.NovembreCol );
    	sum += int( item.DecembreCol );
    	return sum;
    }
    Merci encore une fois , à tout le monde

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2009
    Messages : 24
    Points : 18
    Points
    18
    Par défaut Le Projet En Zip
    Bonjour,

    Voici le projet complet en zip

    La base de données avec

    TCommerce.zip

    Tcommerce.sql

    Merci !

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

Discussions similaires

  1. récupérer une valeur de la base de données dans une liste
    Par Marie_7 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 30/06/2015, 18h46
  2. Réponses: 14
    Dernier message: 25/07/2013, 10h29
  3. Réponses: 3
    Dernier message: 12/07/2010, 11h59
  4. Réponses: 2
    Dernier message: 18/03/2010, 13h31
  5. Réponses: 4
    Dernier message: 13/01/2010, 09h37

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