|
|
bonjour, voila j'ai un soucis d'affichage avec mon code en php :
tout d'abord dans ma table messagese j'ai plusieurs colonnes dont une intitulé MESVALEUR et une autre MESCODE . Dans la colonne MESVALEUR il n'y a qu'une seule valeur qui est D1. Dans la colonne MESCODE on retrouve toutes les valeurs qu'il y a dans mon switch .
Mon code doit récupérer différentes infos à l'aide du switch et doit ensuite les écrire dans un fichier texte en les mettant en forme de cette facon
1 D1
2 nom emmetteur
3 siret
... etc
le problème c'est que mon fichier texte est vide. après avoir fait plusieurs echo j'ai trouvé ceci :
lorsque je fais un echo sur mon switch : pas de problème il récupère les infos mais lorsque je fais un echo sur mon if juste en dessous : ma variable $varw est vide. Ma page est nommée adminediutil.php et est en relation avec la page
adminedi.php qui contient un formulaire dans lequel on passe un numéro.
Grâce à ce numéro on doit pouvoir récupérer les infos necessaire dans différentes tables en se servant du switch .
J'ai essayé différentes choses mais mon fichier est toujours vide.
J'ai alors pensé qu'il manquait une partie de code mais je ne vois pas ce que je peut rajouter. merci d'avance à ceux qui prendront le temps de lire mon code qui est somme toute assez long.
Voici le code de ma page adminediutil:
function creaDispor($chargeur,$noa)
{
global $socTrsp;
//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 != "")
{
echo "$mesvaleur";
$varw = $mesvaleur;
echo "$varw";
}
// 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);
voici le code de ma page adminedi.php:
$connect = mysql_connect($sqlsrv,$sqlusr,$sqlpwd) or die('connexion au serveur SQL impossible');
mysql_select_db ($sqldb) or die ('Selection de la base impossible!');
if ($action == "") $action = "formParamSimul";
$chargeur = $_SESSION['societe'];
switch ($action)
{
case 'formParamSimul':
formulaireParamSimulEDI();
echo "<BR>";
break;
case 'simulEDI':
switch($_POST['msg'])
{
case "DISPO":
creaDispor($chargeur,$_POST['oa']);
break;
}
echo "<BR>";
break;
default: //Ne devrait jamais arriver
echo "$errMessErrorHasOccured";
break;
}//switch
mysql_close();
|