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 :

[Tableaux] tableau qui ne s'additionne pas


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut [Tableaux] tableau qui ne s'additionne pas
    bonjour
    là je reste bloquer sur une bêtise

    je dois récupérer la quantité et la rajouter à un tableau

    j'ai quantité 14
    à ajouté à mon tableau
    10,10,10,10 pour arrive a 10,10,24,10

    1 par 1 ca marche
    mais je veux automatiser tout en 1 fois

    le problème
    c'est qu' à chaque fois il me prend la dernière valeur

    je voudrais


    quantité 7
    ,10,10 résultat ,10,21
    quantité 14
    ,10,21 résultat ,10,35
    quantité 8
    ,10,35 résultat ,10,43

    résultat final ,10,43
    mais moi j'obtiens

    quantité 7
    ,10,10 résultat ,10,17
    quantité 14
    ,10,10 résultat ,10,24

    quantité 8
    ,10,10 résultat ,10,18
    la mon résultat final est ,10,18

    donc il additionne pas à chaque fois il prend le tableau de base et il mets a jour seulement a la dernière boucle


    voila le 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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
     
     
    $strReq="select * from terrain_ressource where id='$id' and nb=0";
    						$strEnv=mysql_query($strReq);
     
    						while($tabRes=mysql_fetch_array($strEnv))
     
    						if($tabRes['nb']==0) // si le nombre est bien egal a zero
    						{
    							if($tabRes['recolte']!=0) //si il y a de la recolte
    									{
    											// modification si le produit est un produit evolution
    											$type=$tabRes['type'];
     
    											if($type == 2)
    											$type=1;
    											elseif($type == 5)
    											$type=3;
     
     
    										// modification recolte selon la race
    										$qte=$tabRes['recolte'];
     
    										if($intRace==1)
    											$qte=$qte*1;
    										elseif($intRace==2)
    											$qte=$qte*1.5;
    										elseif($intRace==3)
    											$qte=$qte*0.5;
     
    										$tab_ressource[$type]+=$qte;
    										$strRes=liste($stocks_res,$type,$qte);	
     
     
     
    										mysql_query("UPDATE biens SET stocks2='$strRes' WHERE id='$id'") or die('Erreur SQL'.mysql_error());
    										mysql_query("UPDATE terrain_ressource SET recolte=0 WHERE id='$id' and id_te='$id_te'") or die('Erreur SQL'.mysql_error());						
    															//relance du terrain				
    											$id_te=$tabRes['id_te'];
    											$date_m=date("Y-m-d H:i:00");
     
    											mysql_query("UPDATE terrain_ressource SET  nb=1,  av=1, recolte=0, date='$date_m' WHERE id='$id' and id_te='$id_te'") or die('Erreur SQL'.mysql_error());
    												echo'tout est ok';
    										}		
    						}
    merci de votre aide

    fab

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, excuse moi, mais je n'ai rien compris
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    lol

    je vais tenter d'etre plus clair

    donc j'ai une valeur dans une table qui est ,10,10,10 separe par des virgules

    je dois ajouter dedans une quantité exp 8 a la deuxieme place
    pour que ca donne ,10,18,10

    ca ca marche lorsque je fait 1 update par un update
    une petite explication donc c'est un jeu de culture ferme virtuelle
    le joueur plante et recolte des produits
    si il va sur son terrain et il recolte champ par champ c ok
    ce que je voudrais c qu'il puisse recolter tous ses cultures en 1 seul fois
    donc sur ma page de recolte le script dessus

    lorsque je valide mon formulaire il enregistre dans la base juste la derniere boucle
    en mettant une alerte j'ai bien les bonnes valeurs mais il ne les enregistre pas.
    a chaque fois il donne stock initial puis nouveau stock

    mais il additionne pas le stock de la 1 ere boucle avec la 2ieme +3 ieme

    il additione le stock avec la derniere boucle

    j'espere avoir etait plus clair lol
    voila j'allege le code

    merci
    Fab
    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
    $strReq="select * from terrain_ressource where id='$id' and nb=0"; 
                      $strEnv=mysql_query($strReq); 
     
                      while($tabRes=mysql_fetch_array($strEnv)) 
     
                      if($tabRes['nb']==0) // si le nombre est bien egal a zero 
                      { 
                         if($tabRes['recolte']!=0) //si il y a de la recolte 
                               { 
     
                                   $type=$tabRes['type']; 
                                   $qte=$tabRes['recolte']; 
     
     
                                  $tab_ressource[$type]+=$qte; 
                                  $strRes=liste($stocks_res,$type,$qte);    
     
     
     
                                  mysql_query("UPDATE biens SET stocks2='$strRes' WHERE id='$id'") or die('Erreur SQL'.mysql_error()); 
     
                                 }        
                      }

  4. #4
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Re, bon j'avoue, je ne suis pas plus avancé (il est tard et tout et tout ), je reprendrai le problème à tête reposé demain ;-)

    Sinon, une remarque : pour les types numériques dans une requête, il n'est pas nécessaire de mettre des '
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $strReq="select * from terrain_ressource where id=$id and nb=0";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("UPDATE biens SET stocks2=$strRes WHERE id=$id") or die('Erreur SQL'.mysql_error());
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    merci du conseil (lol j'apprend)
    mieux qu'une bonne explication
    un exemple

    la page est http://www.abaltievolution.com/test-relancer.php

    pour se connecter le pseudo est test le passe toto

    j'ai mis 2 alerts pour voir l'evolution

    et le resulat de wile est inscrit sur la page

    merci
    Fab

  6. #6
    Membre du Club Avatar de toflofr
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2003
    Messages : 63
    Points : 53
    Points
    53
    Par défaut
    j'ai pas tout compris, non plus a ton truc c'est loin d'etre simple a expliquer en plus, mais je pense quetu devrai mettre ta requete SELECT dans ta boucle, pour relire ta base apres tes UPDATE.

    Je sais pas si ca pourra t'aider.

    PS: la premiere fois que j'ai lu ton post je m'y suis pris a 4 fois, et je me suis dit "je comprend rien", et ensuite j'ai vu le post de NesMontou, et j'ai eclater de rire, je me sentai mais seul

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    arfff j'ai du mal là !

    commence a avoir mal a la tête

    mais pourquoi j'ai pas ecouter les lecons

    fab

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    une petite precission la table stocks2 est un type texte

    fabien

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 41
    Points : 28
    Points
    28
    Par défaut
    merci toflofr

    ca y est ! ca marche !

    la requete etait dans un include ern haut de page !
    et effectivement

    du coup dans la boucle y avait pas

    je bossais sur un autre doc et là pareil pas de stock

    ca ne passer pas par la requette


    je me suis dit bon sang masi c bien sur !
    et hop
    merci
    c cool
    Fabien

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

Discussions similaires

  1. Image en arrière plan d'un tableau qui ne s'imprime pas
    Par Dsphinx dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 15/01/2012, 10h07
  2. [MySQL] Tableau qui ne se rafraichit pas après un onchange
    Par Budy123 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/08/2011, 13h34
  3. Un tableau qui ne s'affiche pas
    Par stc074 dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 17/03/2011, 18h55
  4. [Tableaux] création de tableau qui ne se fait pas
    Par mussara dans le forum Langage
    Réponses: 2
    Dernier message: 01/11/2006, 21h44
  5. [HTML] Image en fond d'un tableau qui ne se répète pas.
    Par yoyot dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 09/02/2005, 17h08

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