8791 sujets

Développement web côté serveur, CMS

Bonjour,

je suis confronté à un petit problème en php avec une base de données Oracle.

Mon but est, à chaque itération de boucle (nombre d'enregistrement que retourne la requête) d'ajouter le contenu du champ à une variable totale.
Vous allez me dire, rien de difficile, tu n'es vraiment pas doué etc... mais euh... je dois pas être très doué Smiley smile

voilà mon code simplifié au maximum, la requête est bonne la syntaxe aussi...

if (count(results)){
	$poids_march_entree=0.0;
	//Pour chaque enregistrement retourné
	while ($res = each($results)){
		if ($res[1]['ES']=="E"){

$poids_march_entree=$poids_march_entree+$res[1]['POIDS'];
		}
		echo "total march entree : ".$poids_march_entree."<br>";
	}
}


Ma variable $poids_march_entree contient, lorsque je l'affiche, un nombre entier. et non pas un réel... J'ai cherché un peu partout, en javascript apparement la fonction eval existe pour ce type de problème, en php, je trouve pas...

Si vous pouviez me renseigner... ca m'aiderait bien Smiley smile

J'espère avoir été assez clair sinon n'hesitez pas, je suis là Smiley smile
Modifié par PaYaP (10 Aug 2007 - 11:10)
bon edit general oO

$poids_march_entree=0.23;
$poids_march_entree+=0.25;
$poids_march_entree+=0.02;
echo $poids_march_entree;


j'obtien bien 0.5 donc essai d'affiche ta variable $res[1]['POIDS'] pour voir si tu obtiens bien les bonnes valeurs, car je peut etre que dans la base de donnée il transforme le . en , et donc il faudrai que tu fasses sans doute un changement pour faire les additions.

$bouh=explode(',',$res[1]['POIDS']);
$poids=$bouh[0].'.'.$bouh[1];
$poids_march_entree+=$poids;


Si j'ai raison pour la , bien sur.
Modifié par Halindel (10 Aug 2007 - 11:00)
Et bien voilà, la prochaine fois je chercherai moins longtemps je viendrai voir directement ici, première réponse et celle-ci fonctionne Smiley smile

merci encore, le problème résidait bien dans le "." au lieu de la ","


Problème résolu, grace à toi Halindel