Problème addition entre 2 variables

Eléphant du PHP | 63 Messages

04 mai 2009, 14:28

Bonjour à tous,

j'ai le tableau suivant :

Code : Tout sélectionner

Array ( [1226] => Array ( [A] => Array ( [rai_repartition] => 0 [rai_repartition_effective] => 0 ) [B] => Array ( [rai_repartition] => 100 [rai_repartition_effective] => 0 ) ) )
Mon but est de prendre les répartitions de A pour les additionner à B. Je tente de le faire avec le foreach suivant :

Code : Tout sélectionner

$requete = ""; foreach($tab as $id => $values) { $rai_repartition = $values['A']['rai_repartition']; $rai_repartition += $values['B']['rai_repartition']; $requete .= " UPDATE repartitions_act_ins"; $requete .= " SET rai_repartition = ".$rai_repartition; $requete .= " WHERE ins_id = 4"; $requete .= " AND ACT_ID = ".$id; $requete .= " AND RAI_ANNEE = 2009"; $requete .= "\n"; }
Lorsque je print ma requete, j'ai ça :

Code : Tout sélectionner

UPDATE repartitions_act_ins SET rai_repartition = 1000 WHERE ins_id = 4 AND ACT_ID = 1226 AND RAI_ANNEE = 2009
Je ne comprends pas pourquoi il ne fait pas l'addition 0+100 ?? :roll:

J'ai essayé d'utiliser intval, settype, mais rien n'y fait.

Merci pour votre aide

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

04 mai 2009, 14:38

J'ai pas de soucis avec ton code... j'ai bien la valeur 100 en sortit du foreach avec le tableau donnée en exemple ...

As-tu vérifié les valeurs du tableau ?
As-tu contrôllé la valeur de $rai_repartition au fur et à mesure que tu les additionne ?
Aurais-tu d'autres éléments dans le tableau que ceux spécifiés ici ? (le 1000 est peut être la somme des A et B de ton dernier élément et non de celui présenté ?)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 63 Messages

04 mai 2009, 14:48

J'ai pas de soucis avec ton code... j'ai bien la valeur 100 en sortit du foreach avec le tableau donnée en exemple ...

As-tu vérifié les valeurs du tableau ?
As-tu contrôllé la valeur de $rai_repartition au fur et à mesure que tu les additionne ?
Aurais-tu d'autres éléments dans le tableau que ceux spécifiés ici ? (le 1000 est peut être la somme des A et B de ton dernier élément et non de celui présenté ?)
Effectivement ça fonctionne bien, l'erreur était dans mon code.
Désolé pour le topic ouvert pour pas grand chose.
@+