Bonjour,

j'ai dans un fichier de config des constantes qui sont déclarées. dans un autre fichier php, j'écris une fonction qui renvoie l'une ou l'autre constante en fonction des paramètres passés à la fonction :

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
47
48
49
50
51
52
53
function getRed($pid, $annee) {
	switch($pid){
 
		case 1:
			if ($annee==1998 || $annee==2009) {$red = EFX_COLOR_N98_R;}
			elseif ($annee==1999) {$red = EFX_COLOR_N99_R;}
			elseif ($annee==2000) {$red = EFX_COLOR_N00_R;}
			elseif ($annee==2001) {$red = EFX_COLOR_N01_R;}
			elseif ($annee==2002) {$red = EFX_COLOR_N02_R;}
			elseif ($annee==2003) {$red = EFX_COLOR_N03_R;}
			elseif ($annee==2004) {$red = EFX_COLOR_N04_R;}
			elseif ($annee==2005) {$red = EFX_COLOR_N05_R;}
			elseif ($annee==2006) {$red = EFX_COLOR_N06_R;}
			elseif ($annee==2007) {$red = EFX_COLOR_N07_R;}
			elseif ($annee==2008) {$red = EFX_COLOR_N08_R;}
 
			break;
 
		case 2:
 
			if ($annee==1998 || $annee==2009) {$red = EFX_COLOR_S98_R;}
			elseif ($annee==1999) {$red = EFX_COLOR_S99_R;}
			elseif ($annee==2000) {$red = EFX_COLOR_S00_R;}
			elseif ($annee==2001) {$red = EFX_COLOR_S01_R;}
			elseif ($annee==2002) {$red = EFX_COLOR_S02_R;}
			elseif ($annee==2003) {$red = EFX_COLOR_S03_R;}
			elseif ($annee==2004) {$red = EFX_COLOR_S04_R;}
			elseif ($annee==2005) {$red = EFX_COLOR_S05_R;}
			elseif ($annee==2006) {$red = EFX_COLOR_S06_R;}
			elseif ($annee==2007) {$red = EFX_COLOR_S07_R;}
			elseif ($annee==2008) {$red = EFX_COLOR_S08_R;}
 
			break;
		case 3:
 
			if ($annee==1998 || $annee==2009) {$red = EFX_COLOR_P98_R;}
			elseif ($annee==1999) {$red = EFX_COLOR_P99_R;}
			elseif ($annee==2000) {$red = EFX_COLOR_P00_R;}
			elseif ($annee==2001) {$red = EFX_COLOR_P01_R;}
			elseif ($annee==2002) {$red = EFX_COLOR_P02_R;}
			elseif ($annee==2003) {$red = EFX_COLOR_P03_R;}
			elseif ($annee==2004) {$red = EFX_COLOR_P04_R;}
			elseif ($annee==2005) {$red = EFX_COLOR_P05_R;}
			elseif ($annee==2006) {$red = EFX_COLOR_P06_R;}
			elseif ($annee==2007) {$red = EFX_COLOR_P07_R;}
			elseif ($annee==2008) {$red = EFX_COLOR_P08_R;}
 
			break;
 
	}
 
	return $red;
}
si $pid est égal à 1, je récupère bien la valeur de la constante, mais si $pid=2 ou 3, je récupère dans $red le nom de la constante correspondante et non sa valeur.

qu'est ce qui cloche ??

Merci,

Nico