problème de variable vide
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:
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.