Précédent   Forum des professionnels en informatique > PHP > Scripts
Scripts Forum d'entraide sur les scripts PHP téléchargés. Les meilleurs scripts PHP, la FAQ scripts PHP, toutes les FAQ PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/02/2011, 10h32   #1
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Par défaut Règle de calcul compliquée

Bonjours à tous,

j'ai 2 champs html étage qui correspondent à ça :
Code html :
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
 
<label>Etage</label>
<select name="etage" ><option value="0">RDC
</option><option value="1">1
</option><option value="2">2
</option><option value="3">3
</option><option value="4">4
</option><option value="5">5
</option><option value="6">6
</option><option value="7">7
</option><option value="8">8
</option><option value="9">9
</option><option value="10">10 et plus
</option></select>
sur
<select name="suretage"><option value="1">1
</option><option value="2">2
</option><option value="3">3
</option><option value="4">4
</option><option value="5">5
</option><option value="6">6
</option><option value="7">7
</option><option value="8">8
</option><option value="9">9
</option><option value="10">10 et plus
</option></select>

Je vais faire une règle javascript qui dit que dès que par exemple le champs étage = 1 le champ surétage =<1
ok

Maintenant faire la règle de calcul exemple :

si étage = 1 et surétage = 6, prix au m² = 100
si étage = 1/2ou 3/4de surétage à partir de 5 surétage ( cad par exemple 3 sur 6 ) prix au m² = 100 *(1+5/100) cad une augmentation de 5% donc 105
et
si étage = 5 et surétage = 5 (cad minimum 5 étage sur 5 surétage), prix au m² = 100 *(1+15/100) cad une augmentation de 15% donc ici 115

Je réfléchis sur comment créer cette formule en php
mais c'est pas gagné !

Si quelqu'un à des notions de maths plus poussée que moi j'aimerai bien un coup de main

Merci !
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 13h20   #2
Membre éprouvé
 
Avatar de guigo
 
Inscription : juin 2006
Messages : 606
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 606
Points : 479
Points : 479
Salut,
ta règle de calcul n'est pas complique, il faut jkuste mettre un peu d'organisation....
Je te donne les grande ligne :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
function calculPrixMetreCarre($PrixBase, $Etage, $SurEtage)
 
switch($Etage){
 
   case $Etage>2 && $SurEtage>2  : $Taux=1.15;break; //correspond a 15%
 
   case .... :
}
 
$PrixFinal=$PrixBase*Taux;
return $PrixFinal;
}

Guigo
guigo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 16h29   #3
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
J'ai fait ça

Code php :
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
 
$PrixBase=$ligne['prix'];
echo "PRIXXXX $PrixBase €";
 
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CALCUL DU TAUX SELON ETAGE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */		
function calculPrixMetreCarre($PrixBase, $Etage, $SurEtage){
 
switch($etage){
 
   case $etage<3 && $suretage>3  : $Taux=1;break; //correspond a 0%
   case $etage=3 && $suretage>5  : $Taux=1.05;break;//correspond a 5%
   case $etage=4 && $suretage=4  : $Taux=1.05;break;
   case $etage=4 && $suretage>7  : $Taux=1.05;break;
   case $etage=5 && $suretage>8  : $Taux=1.05;break;
   case $etage=5 && $suretage=5  : $Taux=1.15;break;//correspond a 15%
   case $etage=6 && $suretage>9  : $Taux=1.05;break;
   case $etage=6 && $suretage=6  : $Taux=1.15;break;
   case $etage=7 && $Suretage=7  : $Taux=1.15;break;
   case $etage=8 && $suretage=8  : $Taux=1.15;break;
   case $etage=9 && $suretage=9  : $Taux=1.15;break;
   case $etage=10 && $suretage=10  : $Taux=1.15;break;
}
 
$PrixFinal=$PrixBase*$Taux;
 
function prixfinal($PrixBase,$Taux){
return $PrixBase*$Taux;
}}
 
$PrixFinal1 =  prixfinal($PrixBase,$Taux);
{echo "Prix Final $PrixFinal1 €";}

et voila l'erreur

Fatal error: Call to undefined function prixfinal()

huhu !!
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 16h51   #4
Membre éprouvé
 
Avatar de guigo
 
Inscription : juin 2006
Messages : 606
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 606
Points : 479
Points : 479
essaye ca :

Code :
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
 
$PrixBase=$ligne['prix'];
$Etage=$ligne['Etage'];
$SurEtage=$ligne['SurEtage'];
 
echo "PRIXXXX ".calculPrixMetreCarre($PrixBase, $Etage, $SurEtage)." €";
 
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CALCUL DU TAUX SELON ETAGE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */		
function calculPrixMetreCarre($PrixBase, $Etage, $SurEtage){
 
switch($etage){
 
   case $etage<3 && $suretage>3  : $Taux=1;break; //correspond a 0%
   case $etage=3 && $suretage>5  : $Taux=1.05;break;//correspond a 5%
   case $etage=4 && $suretage=4  : $Taux=1.05;break;
   case $etage=4 && $suretage>7  : $Taux=1.05;break;
   case $etage=5 && $suretage>8  : $Taux=1.05;break;
   case $etage=5 && $suretage=5  : $Taux=1.15;break;//correspond a 15%
   case $etage=6 && $suretage>9  : $Taux=1.05;break;
   case $etage=6 && $suretage=6  : $Taux=1.15;break;
   case $etage=7 && $Suretage=7  : $Taux=1.15;break;
   case $etage=8 && $suretage=8  : $Taux=1.15;break;
   case $etage=9 && $suretage=9  : $Taux=1.15;break;
   case $etage=10 && $suretage=10  : $Taux=1.15;break;
}
 
$PrixFinal=$PrixBase*$Taux;
return $PrixFinal; 
}
guigo est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/02/2011, 17h25   #5
Membre chevronné
 
Inscription : juin 2004
Messages : 747
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : juin 2004
Messages : 747
Points : 741
Points : 741
Citation:
Envoyé par Irokoi Voir le message
J'ai fait ça

Code php :
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
 
$PrixBase=$ligne['prix'];
echo "PRIXXXX $PrixBase €";
 
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CALCUL DU TAUX SELON ETAGE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */		
function calculPrixMetreCarre($PrixBase, $Etage, $SurEtage){
 
switch($etage){
 
   case $etage<3 && $suretage>3  : $Taux=1;break; //correspond a 0%
   case $etage=3 && $suretage>5  : $Taux=1.05;break;//correspond a 5%
   case $etage=4 && $suretage=4  : $Taux=1.05;break;
   case $etage=4 && $suretage>7  : $Taux=1.05;break;
   case $etage=5 && $suretage>8  : $Taux=1.05;break;
   case $etage=5 && $suretage=5  : $Taux=1.15;break;//correspond a 15%
   case $etage=6 && $suretage>9  : $Taux=1.05;break;
   case $etage=6 && $suretage=6  : $Taux=1.15;break;
   case $etage=7 && $Suretage=7  : $Taux=1.15;break;
   case $etage=8 && $suretage=8  : $Taux=1.15;break;
   case $etage=9 && $suretage=9  : $Taux=1.15;break;
   case $etage=10 && $suretage=10  : $Taux=1.15;break;
}
 
$PrixFinal=$PrixBase*$Taux;
 
function prixfinal($PrixBase,$Taux){
return $PrixBase*$Taux;
}}
 
$PrixFinal1 =  prixfinal($PrixBase,$Taux);
{echo "Prix Final $PrixFinal1 €";}

et voila l'erreur

Fatal error: Call to undefined function prixfinal()

huhu !!
ta fonction prixfinal est déclarée à l'intérieur d'une autre fonction... il faut la sortir.
__________________
  • Mon blog PHP : http://blog.alterphp.com
  • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein
pc.bertineau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 10h19   #6
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Alors

Code php :
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
 
$PrixBase=$ligne['prix'];
echo "PRIXXXX $PrixBase €";
 
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CALCUL DU TAUX SELON ETAGE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */		
function calculPrixMetreCarre($PrixBase, $Etage, $SurEtage){
 
switch($etage){
 
   case $etage<3 && $suretage>3  : $Taux=1;break; //correspond a 0%
   case $etage=3 && $suretage>5  : $Taux=1.05;break;//correspond a 5%
   case $etage=4 && $suretage=4  : $Taux=1.05;break;
   case $etage=4 && $suretage>7  : $Taux=1.05;break;
   case $etage=5 && $suretage>8  : $Taux=1.05;break;
   case $etage=5 && $suretage=5  : $Taux=1.15;break;//correspond a 15%
   case $etage=6 && $suretage>9  : $Taux=1.05;break;
   case $etage=6 && $suretage=6  : $Taux=1.15;break;
   case $etage=7 && $Suretage=7  : $Taux=1.15;break;
   case $etage=8 && $suretage=8  : $Taux=1.15;break;
   case $etage=9 && $suretage=9  : $Taux=1.15;break;
   case $etage=10 && $suretage=10  : $Taux=1.15;break;
}
}
function prixfinal($PrixBase,$Taux){
return $PrixBase*$Taux;
 
}
$PrixFinal =  prixfinal($PrixBase,$Taux);
{echo "Prix Final $PrixFinal €";}

Notice: Undefined variable: Taux

je cherche encore j'ai fait différente combinaison mais ça me met différente erreur UNDEFINED
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 10h45   #7
Membre chevronné
 
Inscription : juin 2004
Messages : 747
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : juin 2004
Messages : 747
Points : 741
Points : 741
1- Tu as une belle fonction prixMetreCarre que tu n'appelles pas, et qui ne retourne rien... donc au moment ou tu appelles prixfinal avec $Taux, $Taux est inconnu.

2- Ajoutes un "case default" dans ton switch() "au cas où" aucun des cas décrits ne serait validé.

3- Les messages d'erreur sont on ne peut plus explicite (même sans être billingue), fais un ptit effort pour déterminer ce qui ne va pas... le numéro de ligne t'aidera à cibler ton erreur.
__________________
  • Mon blog PHP : http://blog.alterphp.com
  • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein
pc.bertineau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 11h03   #8
Membre éprouvé
 
Avatar de guigo
 
Inscription : juin 2006
Messages : 606
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 606
Points : 479
Points : 479
Complement d'accord pour le default du swtich....

Par contre ma derniere modification ne marche pas ???
guigo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 14h14   #9
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Salut guigo

ton code

Code php :
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
 
echo "PRIXXXX ".calculPrixMetreCarre($PrixBase, $etage, $suretage)." €";
 
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CALCUL DU TAUX SELON ETAGE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */		
function calculPrixMetreCarre($PrixBase, $etage, $suretage){
 
switch($etage){
 
   case $etage<3 && $suretage>3  : $Taux=1;break; //correspond a 0%
   case $etage=3 && $suretage>5  : $Taux=1.05;break;//correspond a 5%
   case $etage=4 && $suretage=4  : $Taux=1.05;break;
   case $etage=4 && $suretage>7  : $Taux=1.05;break;
   case $etage=5 && $suretage>8  : $Taux=1.05;break;
   case $etage=5 && $suretage=5  : $Taux=1.15;break;//correspond a 15%
   case $etage=6 && $suretage>9  : $Taux=1.05;break;
   case $etage=6 && $suretage=6  : $Taux=1.15;break;
   case $etage=7 && $Suretage=7  : $Taux=1.15;break;
   case $etage=8 && $suretage=8  : $Taux=1.15;break;
   case $etage=9 && $suretage=9  : $Taux=1.15;break;
   case $etage=10 && $suretage=10  : $Taux=1.15;break;
}
 
$PrixFinal=$PrixBase*$Taux;
return $PrixFinal; 
}
 
echo $PrixFinal;

me donne : Notice: Undefined variable: PrixFinal
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 14h16   #10
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Comment j'ajoute un "case default" ?
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 14h46   #11
Membre chevronné
 
Inscription : juin 2004
Messages : 747
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : juin 2004
Messages : 747
Points : 741
Points : 741
En allant voir la doc officielle PHP : http://php.net/manual/fr/control-structures.switch.php
__________________
  • Mon blog PHP : http://blog.alterphp.com
  • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein
pc.bertineau est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 24/02/2011, 15h15   #12
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
hmhm

Code php :
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
 
$PrixBase=$ligne['prix'];
 
echo "PRIXXXX ".calculPrixMetreCarre($PrixBase, $etage, $suretage)." €";
 
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CALCUL DU TAUX SELON ETAGE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */		
function calculPrixMetreCarre($PrixBase, $etage, $suretage){
 
switch($etage){
   case $etage<3 && $suretage>3  : $Taux=1;break; //correspond a 0%
   case $etage=3 && $suretage>5  : $Taux=1.05;break;//correspond a 5%
   case $etage=4 && $suretage=4  : $Taux=1.05;break;
   case $etage=4 && $suretage>7  : $Taux=1.05;break;
   case $etage=5 && $suretage>8  : $Taux=1.05;break;
   case $etage=5 && $suretage=5  : $Taux=1.15;break;//correspond a 15%
   case $etage=6 && $suretage>9  : $Taux=1.05;break;
   case $etage=6 && $suretage=6  : $Taux=1.15;break;
   case $etage=7 && $Suretage=7  : $Taux=1.15;break;
   case $etage=8 && $suretage=8  : $Taux=1.15;break;
   case $etage=9 && $suretage=9  : $Taux=1.15;break;
   case $etage=10 && $suretage=10  : $Taux=1.15;break;
   default : $Taux=1; break;
   return $Taux;
}
 
$PrixFinal=$PrixBase*$Taux;
return $PrixFinal; 
echo "Prix Final".$PrixFinal." €<br/>";
}
 
$PrixFinal=$PrixBase*$Taux;
 
 
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CALCUL DE L ESTIMATION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */	
 
$estimation = $surface*$PrixFinal;


et les erreurs

PRIXXXX 8400 €
Notice: Undefined variable: Taux
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 10h00   #13
Membre chevronné
 
Inscription : juin 2004
Messages : 747
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : juin 2004
Messages : 747
Points : 741
Points : 741
Regarde l'imbrication de tes accolades... tu fais un return dans ton switch mais après tu es toujours dans ta fonction...
__________________
  • Mon blog PHP : http://blog.alterphp.com
  • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein
pc.bertineau est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/02/2011, 16h26   #14
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
J'ai toujours ce problème
PRIXXXX €
Notice: Undefined variable: Taux
rrrrrrrrr !!!!!!!!!

Code php :
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
 
echo "PRIXXXX ".calculPrixMetreCarre($PrixBase, $etage, $suretage)." €";
 
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CALCUL DU TAUX SELON ETAGE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */		
function calculPrixMetreCarre($PrixBase, $etage, $suretage){
 
switch($etage){
   case $etage<3 && $suretage>3  : $Taux=1;break; //correspond a 0%
   case $etage=3 && $suretage>5  : $Taux=1.05;break;//correspond a 5%
   case $etage=4 && $suretage=4  : $Taux=1.05;break;
   case $etage=4 && $suretage>7  : $Taux=1.05;break;
   case $etage=5 && $suretage>8  : $Taux=1.05;break;
   case $etage=5 && $suretage=5  : $Taux=1.15;break;//correspond a 15%
   case $etage=6 && $suretage>9  : $Taux=1.05;break;
   case $etage=6 && $suretage=6  : $Taux=1.15;break;
   case $etage=7 && $Suretage=7  : $Taux=1.15;break;
   case $etage=8 && $suretage=8  : $Taux=1.15;break;
   case $etage=9 && $suretage=9  : $Taux=1.15;break;
   case $etage=10 && $suretage=10  : $Taux=1.15;break;
   default : $Taux=1; break;
   return $Taux;
   echo $Taux;
}}
$PrixFinal=$PrixBase*$Taux;
return $PrixFinal;
echo "Prix Final".$PrixFinal." €<br/>";
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 16h42   #15
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Alors ça marche ! mais maintenant dans mon tableau il doit y avoir une erreur,

Code php :
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
 
function calculPrixMetreCarre($PrixBase, $etage, $suretage){
 
switch($etage){
   case $etage<3 && $suretage>=3  : $Taux=1;break; //correspond a 0%
   case $etage=3 && $suretage>=5  : $Taux=1.05;break;//correspond a 5%
   case $etage=4 && $suretage=4  : $Taux=1.05;break;
   case $etage=4 && $suretage>7  : $Taux=1.05;break;
   case $etage=5 && $suretage>8  : $Taux=1.05;break;
   case $etage=5 && $suretage=5  : $Taux=1.15;break;//correspond a 15%
   case $etage=6 && $suretage>9  : $Taux=1.05;break;
   case $etage=6 && $suretage=6  : $Taux=1.15;break;
   case $etage=7 && $Suretage=7  : $Taux=1.15;break;
   case $etage=8 && $suretage=8  : $Taux=1.15;break;
   case $etage=9 && $suretage=9  : $Taux=1.15;break;
   case $etage=10 && $suretage=10  : $Taux=1.15;break;
   default : $Taux=1; break;
}
return $Taux;
$PrixFinal=$PrixBase*$Taux;
return $PrixFinal;
 
}
echo "PRIXXXX ".calculPrixMetreCarre($PrixBase, $etage, $suretage)." €<br/>";
$PrixFinal=$PrixBase*calculPrixMetreCarre($PrixBase, $etage, $suretage);
echo "Prix Final".$PrixFinal." €<br/>";

j'obtiens :
Code :
1
2
3
Le prix est de 8000/m² à l'adresse : 20 avenue Charles de Gaulle 92200 Neuilly-Sur-Seine
PRIXXXX 1.05 €
Prix Final8400 €
problème l'étage est ici de 8/8 c'est censé augmenter donc de 1,15
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2011, 13h49   #16
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Citation:
Envoyé par Irokoi Voir le message
Code php :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
function calculPrixMetreCarre($PrixBase, $etage, $suretage){
 
switch($etage){
   case $etage<3 && $suretage>=3  : $Taux=1;break; //correspond a 0%
   case $etage=3 && $suretage>=5  : $Taux=1.05;break;//correspond a 5%
   case $etage=4 && $suretage=4  : $Taux=1.05;break;
   case $etage=4 && $suretage>7  : $Taux=1.05;break;
   case $etage=5 && $suretage>8  : $Taux=1.05;break;
   case $etage=5 && $suretage=5  : $Taux=1.15;break;//correspond a 15%
   case $etage=6 && $suretage>9  : $Taux=1.05;break;
   case $etage=6 && $suretage=6  : $Taux=1.15;break;
   case $etage=7 && $Suretage=7  : $Taux=1.15;break;
   case $etage=8 && $suretage=8  : $Taux=1.15;break;
   case $etage=9 && $suretage=9  : $Taux=1.15;break;
   case $etage=10 && $suretage=10  : $Taux=1.15;break;
   default : $Taux=1; break;
}
return $Taux;
$PrixFinal=$PrixBase*$Taux;
return $PrixFinal;
 
}
Les comparaisons se font par "==" et non "=", voire "===" pour une vérification stricte du type de la variable.

De plus, tu ne peux pas avoir 2 "return" dans une fonction.
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/03/2011, 15h53   #17
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Merci à vous tous ça marche maintenant nickel !
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h07.


 
 
 
 
Partenaires

Hébergement Web