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 :

Addition d'un traitement


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de Orb Dorb
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Par défaut Addition d'un traitement
    Bonjour à tous,

    Voilà, j'aimerais faire le total de toute mes lignes sans passer par (SUM) car la donnée ne provient pas de la base mais à plutôt été traitée.

    Pour faire plus claire, j'aimerais additioner ce traitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
    $nombre = $row_viewdata['tarif'] + $row_viewdata['tps'] + $row_viewdata['tvq'];
    $nombre_format_francais = number_format($nombre, 2, ',', ' ');
    echo $nombre_format_francais; ?>
    J'essaye de cette façon ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php 
    $nombre = $row_viewdata['tarif'] + $row_viewdata['tps'] + $row_viewdata['tvq'];
    $Tnombre += $total
    $nombre_format_francais = number_format($total, 2, ',', ' ');
    echo $nombre_format_francais; ?>
    mais sans succès.

    Quelqu'un aurais une réponse...ou de la documentation sur le sujet ? s.v.p

    Merci à l'avance

  2. #2
    Membre confirmé Avatar de Orb Dorb
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Par défaut
    Personne à une idée ?

    J'ai simplifier mon calcul...

    Je ne trouve pas de documentation sur le sujet dans la F.A.Q ni sur internet.
    Sur php.net il n'y a que le calcul avec des variables.

    J'aissaye tant bien que mal de convertir mes données qui proviennent de la base en variable mais il ne se produit rien.

    Donc ma ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php 
    $nombre = $row_viewdata['tarif'] * $row_viewdata['p_num'];
    echo $nombre; ?>
    Que j'aimerais additionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
    $nombre = $row_viewdata['tarif'] * $row_viewdata['p_num'];
    $Tnombre += $nombre;
    echo $Tnombre; ?>
    Mais en vain...

    À l'aide !
    Du temps que quelqu'un me lance une bouée, je continu mes recherches.

    Merci à l'avance

  3. #3
    Invité(e)
    Invité(e)
    Par défaut
    ton message d'erreur !!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    fais ca 
     
    <?php 
    echo $row_viewdata['tarif'];echo $row_viewdata['p_num'];
    $nombre = $row_viewdata['tarif'] * $row_viewdata['p_num']; $Tnombre += $nombre; 
     
    echo $Tnombre; ?>

  4. #4
    Membre confirmé Avatar de Roromix
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Calvados (Basse Normandie)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 182
    Par défaut
    Est-ce que au moins $row_viewdata['tarif'] et $row_viewdata['p_num'] affichent quelquechose quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $row_viewdata['p_num'];
    ?

    Parce que sinon tu peut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Tnombre = $Tnombre+$nombre;

  5. #5
    Membre confirmé Avatar de Orb Dorb
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Par défaut
    Merci pour les réponses mais sans succès

    Citation Envoyé par gseverin
    ton message d'erreur !!
    Il n'y a pas de message d'erreur.
    Il me donne tout simplement 0(zéro)
    Et pour ton code, c'est identique au mien sauf que ça affiche les variables au préalable.

    Citation Envoyé par Roromix
    Est-ce que au moins $row_viewdata['tarif'] et $row_viewdata['p_num'] affichent quelquechose quand tu fais
    Code :

    echo $row_viewdata['p_num'];

    ?

    Parce que sinon tu peut faire
    Code :

    $Tnombre = $Tnombre+$nombre;
    Certainement, ce sont des données dans ma base de donnée.

    J'ai essayé avec ton code et encore 0(zéro)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
    $nombre = $row_viewdata['tarif'] * $row_viewdata['p_num'];
    $Tnombre = $Tnombre+$nombre;
    echo $Tnombre; ?>
    Je n'ai que deux entrées dans ma base de donnée.
    Une affiche 67 pour le montant($row_viewdata['tarif']) et 3 pour le nombre($row_viewdata['p_num'])
    tandis que l'autre affiche 44 et 6

    Donc :
    67*3=201 et 44*6=264
    La somme des total 201+264=465

    465, c'est ce que j'aimerais qui soit affiché au bas de ma colonne.

    Merci encore pour les réponses et en espérant un éclair de génie pour la prochaine réponse...si j'en mérite une

  6. #6
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par Orb Dorb
    Merci pour les réponses mais sans succès



    Il n'y a pas de message d'erreur.
    Il me donne tout simplement 0(zéro)
    Et pour ton code, c'est identique au mien sauf que ça affiche les variables au préalable.



    Certainement, ce sont des données dans ma base de donnée.

    J'ai essayé avec ton code et encore 0(zéro)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php 
    $nombre = $row_viewdata['tarif'] * $row_viewdata['p_num'];
    $Tnombre = $Tnombre+$nombre;
    echo $Tnombre; ?>
    Je n'ai que deux entrées dans ma base de donnée.
    Une affiche 67 pour le montant($row_viewdata['tarif']) et 3 pour le nombre($row_viewdata['p_num'])
    tandis que l'autre affiche 44 et 6

    Donc :
    67*3=201 et 44*6=264
    La somme des total 201+264=465

    465, c'est ce que j'aimerais qui soit affiché au bas de ma colonne.

    Merci encore pour les réponses et en espérant un éclair de génie pour la prochaine réponse...si j'en mérite une

    en fait je crois savoir pourquoi

    tes variables sin interpretées comme du texte

    mets d'abord tes variables en provenance de ta base de donnes dans une autre variable ou alors cast les ....

    puis aditionnne les


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php $nombre = $row_viewdata['tarif'] * $row_viewdata['p_num']; $Tnombre = $Tnombre+$nombre; echo $Tnombre; ?>

  7. #7
    Membre confirmé Avatar de Orb Dorb
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Par défaut
    Merci gseverin pour ta réponse.

    Mais n'est-tu pas en train de répéter exactement le même code que j'ai posté plus haut ?

    J'ai essayé aussi de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php 
    $t = $row_viewdata['tarif'];
    $p = $row_viewdata['p_num'];
    $nombre = $t * $p; 
    $Tnombre = $Tnombre+$nombre; 
    echo $Tnombre; ?>
    mais j'ai l'impression que ça reviens à la même chose car il m'affiche un résultat identique

    Et je veux qu'il fasse un traitement ligne par ligne. Sinon j'utilisera (SUM) mais il va fausser mes résultats de cette façon.

    Je continu mes recherches

    Et merci encore

  8. #8
    Membre confirmé Avatar de Orb Dorb
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Par défaut
    Quelqu'un n'aurait-il pas de la documentation à ce sujet?.

    Je ne demande pas que l'on me règle le problème mais juste un peu d'aide pour que je puisse trouver la solution.

    Cela me tiens à coeur et ça fait une bonne semaine que je cherche mais en vain.

    La charité s.v.p

  9. #9
    Membre confirmé Avatar de Orb Dorb
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Par défaut
    Après un combat ardu et apocalyptique avec mes neurones, j'ai enfin trouvé !!!

    Je remercie ma famille, mes amis, mon producteur...na là, je déconne.

    Je ne posterai pas la solution à moins que quelqu'un y soit interressé.
    Dans ce cas, faites-le moi savoir.

    Et merci pour les pistes.

  10. #10
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par Orb Dorb
    Après un combat ardu et apocalyptique avec mes neurones, j'ai enfin trouvé !!!

    Je remercie ma famille, mes amis, mon producteur...na là, je déconne.

    Je ne posterai pas la solution à moins que quelqu'un y soit interressé.
    Dans ce cas, faites-le moi savoir.

    Et merci pour les pistes.
    je trouve ton message un peu limite.

    tu aurais aimé que l'on t'apporte une solution , mais l'ayant trouvée tout seul , tu préfères ne pas en faire profiter tout le monde , bravo belle mentalité !!

    Ce serait tellement plus positif de dire , merci pour veos recherches , j'ai enfin trouvé , voici la réponse , ca c'est la classe !!

    Ce n'est pas la mentalité de développez.com heureusement !!


  11. #11
    Membre confirmé Avatar de Orb Dorb
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Par défaut
    Je sentais que je devais y mettre la réponse.

    tu aurais aimé que l'on t'apporte une solution , mais l'ayant trouvée tout seul , tu préfères ne pas en faire profiter tout le monde , bravo belle mentalité !!
    J'ai proposé dans mon dernier message de m'avertir si quelqu'un étais interresé à avoir la réponse. Tu aurais pus le faire plus humblement car s'il n'y a pas une dizaine de remerciement dans mes posts, il n'y en a pas du tout. Et accueillit comme ça, je n'ai plus vraiment le gout de perdre 15 minute à expliquer la solution.

    En plus que tu est le seul qui s'est interresser à mon problème et c'est pour cela que j'hésitais à afficher la solution. Disons que je me suis senti un peu délaissé. Quand je vois qu'il y a des modérateurs et des rédacteurs qui se lancent à 10 et plus pour répondre à des questions vraiment innocente et qui sont dans la F.A.Q et facile à trouver en plus.

    Bon assez de argne je n'ai rien contre toi gseverin, au contraire tu est le seul qui a apporté ta contribution. Juste que j'ai pas ça me faire passer pour pourris.

    Ce serait tellement plus positif de dire , merci pour veos recherches , j'ai enfin trouvé , voici la réponse , ca c'est la classe !!
    À moins que je m'exprime mal tout y étais dans mon dernier message.
    j'ai enfin trouvé !!!
    et
    Et merci pour les pistes.
    sans compter tous les remerciement dans les autres posts.

    Reste juste la réponse et je vais bien sur l'afficher et expliquer.

    Ce n'est pas la mentalité de développez.com heureusement !!
    Je crois que je respecte la mentalité de développez.net plus que certain en prennant la peine d'écrire convenablement et en suivant les discutions pour leurs donner une fin (Résolu) ou (Délestage).

    Bon, comme tu vois, ta réponse à suscitée de la réaction de ma part.
    J'envois la solution dans le prochain post. Ça va me permettre d'essayer la nouvelle fonctionnalité de la coloration du code.

    À plusse !

  12. #12
    Membre confirmé Avatar de Orb Dorb
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 71
    Par défaut
    Je ne suis pas sur de ce que j'avance mais tout à fini par fonctionner.

    Comme tout se passais entre un (do) et un (while) (pour répéter les régions), il fallais que je travaille la variable du total à l'interieur de tout ça et que j'affiche ensuite la donnée à l'extérieur pour quelle ne soit pas répétée. Donc je vais donner l'exemple que d'un seul et je ne mettrais pas tout ce qu'il y a entre le (do) et le (while) :

    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
    <?php do { ?>
     
    <?php // Tarif mensuel
    $tm = $row_viewdata['tarif']; // Qui provient de la base
    $tm_tps = $tm * $row_viewdata['tps']; // Qui provient de la base
    $tm_tvq = ($tm + $tm_tps) * $row_viewdata['tvq']; // Qui provient de la base
    $tm_total = $tm + $tm_tps + $tm_tvq;
    // Format du nombre
    $nombre_format_francais = number_format($tm_total, 2, ',', ' ');
    echo $nombre_format_francais;
    // Porcessus du total
    $Ttm += $tm_total;
    $tm_total = $Ttm; ?>
     
    <?php } while ($row_viewdata = mysql_fetch_assoc($viewdata)); ?>
     
    <?php // Affichage du total de la colonne (Tarif mesuel)
    $nombre_format_francais = number_format($tm_total, 2, ',', ' ');
    echo $nombre_format_francais; ?>
    Voilà, si vous pensez qu'il y aurait moyen d'épurer le tout, faites-le mois savoir.

    À plusse !

  13. #13
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par Orb Dorb
    Je ne suis pas sur de ce que j'avance mais tout à fini par fonctionner.

    Comme tout se passais entre un (do) et un (while) (pour répéter les régions), il fallais que je travaille la variable du total à l'interieur de tout ça et que j'affiche ensuite la donnée à l'extérieur pour quelle ne soit pas répétée. Donc je vais donner l'exemple que d'un seul et je ne mettrais pas tout ce qu'il y a entre le (do) et le (while) :

    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
    <?php do { ?>
     
    <?php // Tarif mensuel
    $tm = $row_viewdata['tarif']; // Qui provient de la base
    $tm_tps = $tm * $row_viewdata['tps']; // Qui provient de la base
    $tm_tvq = ($tm + $tm_tps) * $row_viewdata['tvq']; // Qui provient de la base
    $tm_total = $tm + $tm_tps + $tm_tvq;
    // Format du nombre
    $nombre_format_francais = number_format($tm_total, 2, ',', ' ');
    echo $nombre_format_francais;
    // Porcessus du total
    $Ttm += $tm_total;
    $tm_total = $Ttm; ?>
     
    <?php } while ($row_viewdata = mysql_fetch_assoc($viewdata)); ?>
     
    <?php // Affichage du total de la colonne (Tarif mesuel)
    $nombre_format_francais = number_format($tm_total, 2, ',', ' ');
    echo $nombre_format_francais; ?>
    Voilà, si vous pensez qu'il y aurait moyen d'épurer le tout, faites-le mois savoir.

    À plusse !

    et voila c pas plus simple comme ca , que de se poser des questions je la mets ou je la mets pas cette réponse , MERCI pour les autres qui au cours des prochains jours chercheront peut-être cette solution et la trouveront grâce à toi sur ce même forum.

    une bonne action aujourd'hui pour toi .

  14. #14
    Membre émérite
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    910
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 910
    Par défaut fais plus simple
    Pourquoi tu fermes la balise php pour l'ouvrir à nouveau au moment du while et pour la refermer encore juste après la boucle???

    Tout ton script est en PHP, ouvre au début et ferme à la fin...

    Pour finir, je suis entièrement d'accord avec gseverin. La solution, ce doit être naturel de la donner sans même attendre de savoir si cela intéresse quelqu'un. Déjà, ça intéresse forcément tous ceux qui t'ont répondu.

  15. #15
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par zyongh
    Pourquoi tu fermes la balise php pour l'ouvrir à nouveau au moment du while et pour la refermer encore juste après la boucle???

    Tout ton script est en PHP, ouvre au début et ferme à la fin...

    Pour finir, je suis entièrement d'accord avec gseverin. La solution, ce doit être naturel de la donner sans même attendre de savoir si cela intéresse quelqu'un. Déjà, ça intéresse forcément tous ceux qui t'ont répondu.

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

Discussions similaires

  1. [directsound] boucle de traitement de son
    Par gargle dans le forum DirectX
    Réponses: 5
    Dernier message: 24/03/2003, 11h47
  2. Rafraichissement de la fenetre pendant le traitement
    Par Bobx dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/02/2003, 16h13
  3. [VB6] Problème d'addition de dates et de nombres
    Par pepper dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 28/11/2002, 22h12
  4. [imprecis]Réaliser a^n avec seulement l'opérateur d'addition
    Par Amon dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 08/11/2002, 23h22
  5. Matrice de filtrage ?
    Par gimlithedwarf dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 24/08/2002, 10h44

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