Mettre une condition dans un calcul

Résolu
cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 - 20 déc. 2007 à 12:50
cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 - 20 déc. 2007 à 13:59
Salut à tous et à toutes !

J'ai une base de donnée avec deux tables : prix(code, leprix) et calcul(description, lecalcul).
Exemple de la table prix :
_radiateur_ | 25   //un radiateur coute 25 euros
_fenetre_    | 37

Exemple de la table calcul
'prix d\'un radiateur et d\'une fenetre' | _radiateur_+_fenetre_

Donc, dans mon code, je fait des str_replace pour remplacer 'lecalcul' par les bons 'prix' et j'utilise la fonction eval() pour faire le calcul. (eval('$total='.str_replace('_radiateur_', 25, $variable_qui_contient_le_contenu_de_lecalcul_).';');)

J'espère que j'ai été assez clair jusque là.

Ce que je voudrais savoir, c'est s'il est possible de rajouter des conditions dans 'lecalcul' et qui puissent être interprétées dans le eval. Par conditions, je veux exclusivement dire 'if'.

Merci d'avance.

<hr />
lowke<sub>y

Quand on se fait chier, on clique ici</sub>

2 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
20 déc. 2007 à 13:45
Salut,

Je ne suis pas sûr d'avoir tout bien compris, mais... eval() interprète une chaine de caractères comme du php. Tu peux y mettre absolument tout ce que tu veux, tant que c'est du php.
3
cs_lowkey Messages postés 260 Date d'inscription jeudi 31 mai 2007 Statut Membre Dernière intervention 5 novembre 2010 1
20 déc. 2007 à 13:59
Salut neige !

Effectivement, ça marche. J'avais eval("$t=8;"); qui ne marchait pas, mais quand je suis passé des " aux ', ça a fonctionné.

Désolé pour le dérangement.

<hr />
lowke<sub>y

Quand on se fait chier, on clique ici</sub>
0
Rejoignez-nous