Bonjour à tous , je ne sais pas si je poste vraiment dans la bonne session mais vu que mon problème vient d'une variable..
Dans mon code je récupère différentes infos dans mon switch . Jusque la pas de problème quand je fais un echo sur mon switch ma variable est bien rempli.
Le problème c'est que deux lignes en dessous, dans mon if la variable est vide et je n'arrive pas à comprendre pourquoi?
Si quelqu'un a une idée même la plus simple possible car je suis vraiment bloquée. Merci d'avance à ceux qui prendront le temps de me répondre

voici mon code :

Code php : 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
 
//Initialisation de la date
       $jour  = date("j");
	   $mois  = date("n");
	   $annee = date("Y");
 
		//Création du fichier
		$nomFic = "EDI_{$_SESSION['idUser']}.txt";
		unlink ($nomFic);
		copy ("vide.txt",$nomFic);
		$file = fopen($nomFic,"w");
 
		// Enregistrement d'entête D1
		//=======================================================================
 
		$char[] = array();
		$cptChar = 0;
 
		//début modif
 
			$req = "SELECT * FROM messagese,oa,societe,entetecommande
					WHERE MESCODE='$mescode' AND MESTYPENR='type1'
					AND OANOA='$noa' AND oa.OACSOC = entetecommande.ENTSCH 
					AND oa.OACSOC = societe.SOCID";
			$res = mysql_query($req) or die ("erreur $req ");
			while($mes = mysql_fetch_object($res))
			{
 
				// 1°) Remplissage de la valeur du champ
				// -----------------------------------------------------------------------
				$mesvaleur = $mes->MESVALEUR;
				$mescode = $mes->MESCODE;
				$socTabEm = array();
				$socTabEm = getSociete($chargeur);
				$cdeTabEm = array();
				$cdeTabEm = getCommande($cdeId);
 
 
				switch($mescode)
				{
 
					case 'siret_emetteur' :
						$varw = $socTabEm[6];
					break;
 
					case 'nom_emeteur' :
						$varw = $socTabEm[0];
					break;
 
					case 'siret_transporteur':
						$varw = $socTabEm[6];
					break;
 
					case 'nom_transporteur':
						$varw = $socTabEm[0];
					break;
 
					case 'ligne_adresse1' : 
						$varw = $socTabEm[14];
					break;
 
					case 'ligne_adresse2' : 
						$varw = $socTabEm[15];
					break;
 
					case 'cp' : 
						$varw = $socTabEm[16];
					break;
 
					case 'ville' : 
						$varw = $socTabEm[17];
					break;
 
					case 'pays' : 
						$varw = $socTabEm[18];
					break;
 
					case 'ntelephone' : 
						$varw = $socTabEm[1];
					break;
 
					case 'date_enlev_demande' : 
						$varw = $cdeTabEm[14];
					break;
 
					case 'date_enlev_tot' : 
						$varw = $cdeTabEm[18];
					break;
 
					case 'date_enlev_tard' : 
						$varw = $cdeTabEm[19];
					break;
 
 
				}
 
 
				if ($mesvaleur != "")
				{
					$varw = $mesvaleur;						
				}
 
 
 
				// 2°) Mise en forme dans le buffer de sortie
				// -----------------------------------------------------------------------
				$mesdeb = $mes->MESDEBUT;
				$mesfin = $mes->MESFIN;
				$meslong = $mes->MESLONG;
				for ($i=$mesdeb; $i<=$mesfin; $i++)
				{
					$j = $i - $mesdeb + 1;
					if (substr($varw, $j, 1) != "")
					{
						$char[$i] = substr($varw, $j, 1);
					} 
					else $char[$i] = " ";
				}
 
				$enreg = "";
				for ($i=$mesdeb; $i<=$mesfin; $i++)
				{
					$enreg.=$char[$i];
				}
			}	
 
		fwrite($file,$enreg);
		fwrite($file,"\n");
                         fclose($file);

P.S : ma colonne $mesvaleur contient une seule donnée et ma colonne $mescode contient toutes les infos du switch.