rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Fichier vide

missjack, le vendredi 16 mai 2008 à 09:10:54
Bonjour,
voila mon code récupère les infos de ma table et selon les différentes informations que j'ai placé dans un switch, j'effectue différentes actions. Une fois cela fais je récupère toutes ces infos, je les mets en forme et je dois écrire toutes ces infos dans un fichier texte. Malheureusement le fichier texte me renvoit des crochets et pas les infos récupérées précedemment. Je ne vois pas tout pourrais venir le problème , si quelqu'un à une solution je suis preneuse.
merci d'avance pour la réponse.
voici mon code :
//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 WHERE MESCODE='$mescode'
AND MESTYPENR='type1' AND OANOA='$noa'";
$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);
Configuration: Windows XP
Internet Explorer 7.0
Répondre à missjack  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
macgawel, le vendredi 16 mai 2008 à 09:47:07
Bonjour.

C'est du php ?

if ($mesvaleur = "")
{
$varw = $mesvaleur;
} 


Le problème est là :
SI (AFFECTER "" à $mesvaleur)
ALORS AFFECTER $mesvaleur (qui vaut donc "") à $varw

C'est une faute courante (quand j'ai un bug, c'est le premier truc que je vérifie :-O )
Pour effectuer une comparaison, il faut un double égal.
if ($mesvaleur == "")
Répondre à macgawel

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
missjack, le vendredi 16 mai 2008 à 13:43:55
merci pour cette réponse aussi rapide mais g fait une bourde :( ce n'est pas
if ($mesvaleurs ="")
{
$var = $mesvaleur;
}
mais if ($valeurs != "")
{
$var = $mesvaleur;
}

et même en mettant un == cela ne fonctionne pas non plus
Répondre à missjack

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
macgawel, le vendredi 16 mai 2008 à 13:52:30
Pour débugger, mets des echo régulièrement, pour voir le contenu de tes variables.

Juste avant le 2ème point, affiche la valeur de $varw, et après affiche le contenu de $char et $enreg (voire des autres variables)...

Au niveau de ta Mise en forme, tu essaies de faire quoi, au juste ? J'ai l'impression que tu te compliques la vie, là...
Répondre à macgawel

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
missjack, le mardi 20 mai 2008 à 15:35:40
Voila j'ai trouvé d'ou vient le problème lorsque je fais un echo sur mon switch, ma variable $varw récupère bien les infos dans la table et les affiche mais lorsque je fais un echo sur $varw dans mon if : là ma variable $varw est vide ; elle ne renvoie rien du tout . Je ne vois pas d'ou vient le problème , peut etre manque-t-il un bout de code qui permettrait de récupérer les infos de ma variable $varw dans mon switch?
Pour répondre à ta question macgawel , ma fonction est censée afficher les infos les unes en dessous des autres selon la longueur qui est indiquée dans ma table en gros cela donne :
1 nom de l'emmeteur
2 siret de la societe
.....
et ce n'est pas moi qui veut le faire comme ca c'est mon patron .
voila si quelqu'un à une solution ce serait vraiment géniale , pendant ce temps la je continue de chercher.
Répondre à missjack

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
macgawel, le mardi 20 mai 2008 à 15:48:33
Essayes de faire :

if ($mesvaleur != "")
{
   echo $mesvaleur;
   $varw = $mesvaleur;
   echo $varw;
} 


Tout ton code est bien dans le même fichier ?
Répondre à macgawel

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
missjack, le lundi 26 mai 2008 à 10:21:41
le problème vient de ma variable $varw , elle est remplie dans mon switch mais elle est vide dans mon if.
Répondre à missjack

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
missjack, le mercredi 21 mai 2008 à 09:36:59
Oui tout mon code est bien dans le même fichier ; de plus je précise une petite chose dans ma table j'ai une colonne MESVALEUR et une MESCODE . Dans la colonne MESVALEUR , je n'ai qu'une seule valeur D1 et dans la colonne MESVALEUR j'ai toutes les valeurs qui sont dans le switch. Le but de mon ficher est que selon les infos de mon switch je récupère des infos par rapport à celle-ci dans d'autre table.
J'ai tester ce que tu m'a dis mais j'avais déjà essayer et il me retourne seulement la valeur D1 qui est dans la colonne MESVALEUR et $varw est vide.
Voila en espérant que cela t'éclaire un peu car moi je sèche.
Répondre à missjack

8


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
macgawel, le lundi 26 mai 2008 à 10:33:13
Est-ce que tu peux faire un copier-coller de ton code, histoire d'avoir ce qui est vraiment demandé ?
Parce que tu donnes :
if ($mesvaleur = "")
{
$varw = $mesvaleur;
} 

puis
mais if ($valeurs != "")
{
$var = $mesvaleur;
} 


Sinon, rajoute dans ton code des echo et donne le résultat:
$req = "SELECT * FROM messagese,oa,societe WHERE MESCODE='$mescode'
AND MESTYPENR='type1' AND OANOA='$noa'";
$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)
{
...
}
echo "varw après le switch = ".$varw.". ";

if ($mesvaleur != "")
{
echo "varw dans le IF = ".$varw." Et mesvaleur = '.$mesvaleur.". ";
$varw = $mesvaleur;
echo "varw après l'affectation = ".$varw.". ";
}
echo "varw après le IF = ".$varw.". ";
Répondre à macgawel

9


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
missjack, le lundi 26 mai 2008 à 11:04:06
merci beaucoup pour ta patience :)

voila ce que j'obtient en mettant les echo que tu suggère :

varw après le switch = . varw dans le IF = Et mesvaleur = D1. varw après l'affectation = . varw après le IF = .

et voila le code avec les echos que tu m'as suggèré de mettre(désolé je viens de me rendre compte que je l'ai pas recopié comme il faut : )

echo "varw après le switch = ".$varw.". ";
if ($mesvaleur != "")
{
echo "varw dans le IF = ".$varw." Et mesvaleur = ".$mesvaleur.". ";
$mesvaleur = $varw ;
echo "varw après l'affectation = ".$varw.". ";
}
echo "varw après le IF = ".$varw.". ";
Répondre à missjack

10


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
macgawel, le lundi 26 mai 2008 à 11:17:28
Déjà, la variable $varw n'est pas affectée dans ton SWITCH, vu que tu as :
varw après le switch = .

Mets, avant le SWITCH un echo :
echo 'mescode = '.$mescode;
switch($mescode)
{...

Soit ta variable $mescode n'a pas de correspondance dant ton SWITCH CASE, soit l'affectation ($varw = $socTabEm[6]; ) est foireuse.

Et tu as bien copié/collé le code ? Parce que là :
$mesvaleur = $varw ;

c'est encore autre chose que tu fais...
Répondre à macgawel

11


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
missjack, le lundi 26 mai 2008 à 11:33:25
ok j'essaie ca et oui j'ai inverser c'est bien $varw = $mesvaleur; et non pas $mesvaleur = $varw;
comme j'ai faits des tests j'avais inverser les deux pour voir si cela changer quelque chose.
Répondre à missjack

12


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
missjack, le lundi 26 mai 2008 à 11:38:21
j'ai essayer et j'obtient ceci :

mescode = varw

donc je suppose que ma variable $mescode est égale à $varw mais c'est pas logique vu que dans ma table ma colonne $mescode à des valeurs de saisies , ca devrait me renvoyer les valeurs de ma table logiquement?
Répondre à missjack

13


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
macgawel, le lundi 26 mai 2008 à 11:59:55
Si tu as bien codé echo 'mescode = '.$mescode; et que tu obtiens mescode = varw , ça veut dire que $mescode = 'varw' (la variable $mescode contient la chaîne de caractères 'varw') ?!

Donc, on reprend les chose dans l'orde :

1. Regarde comment est faite ta requête, et passe-la dans phpMyAdmin :
$req = "SELECT * FROM messagese,oa,societe WHERE MESCODE='$mescode'
AND MESTYPENR='type1' AND OANOA='$noa'"; 
echo $req.'<br />';

Vérifie dans phpMyAdmin que ta requête rend bien le résultat que tu veux.
Il y a peut-être un problème dessus (auquel cas tu ne passerais pas dans ta boucle WHILE).
J'aurais tendance à l'écrire plutôt :
$req = "SELECT * FROM messagese,oa,societe WHERE MESCODE='".$mescode."'
AND MESTYPENR='type1' AND OANOA='".$noa."'"; 


2.
$mesvaleur = $mes->MESVALEUR;
echo $mesvaleurs.'<br />';
$mescode = $mes->MESCODE; 
echo $mescode.'<br />';
Répondre à macgawel

14


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 missjack, le lundi 26 mai 2008 à 14:27:51
allelua je commence à voir le bout du tunnel grace à toi en fait cela vient de $mescode car dans ma table sql dans la colonne $mescode les champs ne sont pas tous remplis, en changeant de colonne dans ma table ca m'affiche ce que je veux.
Le seul soucis qu'il me reste c'est qu'il ne prend en compte que la première ligne de ma table , il ignore les autres .
Et quand je fait un echo sur ma requête il ne prend pas en compte la valeur $mescode , j'obtient ceci:

SELECT * FROM messagese,oa,societe WHERE MESCODE='' AND MESTYPENR='type1' AND OANOA='16770'D1

il faudrait peut être que j'enlève ma condition MESCODE='$mescode' dans ma requête pour qu'il prenne toutes les lignes de ma table?
Répondre à missjack
[Shell] Créer un fichier videPour créer un fichier vide, il vous suffit de taper la commande suivante : > fichier Vous pouvez également utiliser la commande touch : touch fichier www.commentcamarche.net/faq/sujet-866-shell-creer-un-fichier-vide
Graver fichiers vidéos sur dvd (Résolu)Salut, je viens de me procurer plusieurs fichiers videos en qualité divx et j'aimerais bien savoir comment les graver sur dvd avec nero Et qu'en eest il du chapitrage sue le dvd ? Est ce qu'il correspond a chaque fichiers vidéos ou est... www.commentcamarche.net/forum/affich-1447136-graver-fichiers-videos-sur-dvd
Lire fichier video avi (Résolu)bonjour! je souhaiterais savoir comment lire un fichier video avi et ou faut-il prendre le bon codec svp! d'avance merci! good week-end! woof!!!! www.commentcamarche.net/forum/affich-1520580-lire-fichier-video-avi
Extraire le son d'une vidéoVous avez un fichier vidéo dont vous voulez récupérer la bande-son ? Extraire en WAV avec VLC Pour ce faire, il faut d'abord récupérer VLC media player à l'adresse suivante : Télécharger VLC Puis, après installation : 1. Menu Fichier =>... www.commentcamarche.net/faq/sujet-6828-extraire-le-son-d-une-video
[Vidéo] Lire les sous-titresCertains films possèdent des sous-titres dans un fichier à part, possédant généralement l'extension .srt, .ssa ou .sub. Le plus simple pour lire les sous-titres est de renommer le fichier de sous-titres comme le fichier vidéo (à l'exception de... www.commentcamarche.net/faq/sujet-3878-video-lire-les-sous-titres
[Vidéo] Supprimer les bandes noires d'une vidéo (format 16/9ème)Il peut s'avérer qu'un fichier vidéo (DivX ou autre format) soit encodé avec les bandes noires correspondant au format 16/9ème. Il est possible de les supprimer grâce à un outil d'édition de vidéos tel que VirtualDub... www.commentcamarche.net/faq/sujet-2961-video-supprimer-les-bandes-noires-d-une-video-format-16-9eme
Convertir fichier vidéo .wmv et .mov en .avi (Résolu)Bonsoir, Cela fait des semaines que je recherche un logiciel de qualité qui puisse me convertir mes fichiers vidéo qui sont en .wmv et .mov pour les convertir en .avi Car j'aimerais mettre ces fichiers sur cd-rom pour pouvoir les visualiser sur... www.commentcamarche.net/forum/affich-2250402-convertir-fichier-video-wmv-et-mov-en-avi
Transformer un fichier video mpg en avi (Résolu)bonjour , voila j ai telecharger recemment des videos que j ai recu en fichier video mpg et j aimerai les passer en avi pour pouvoir les lire . Comment puis je faire ? www.commentcamarche.net/forum/affich-2076403-transformer-un-fichier-video-mpg-en-avi
Convertir un fichier vidéo en fichier audio (Résolu)Salut à tous, Je souhaite savoir s'il est possible de convertir un fichier vidéo (avi,mpeg...) en fichier audio (mp3 notamment) ou à défaut d'extraire la piste audio. Concrètement, j'ai téléchargé une vidéo d'un concert (extension... www.commentcamarche.net/forum/affich-1605712-convertir-un-fichier-video-en-fichier-audio
Télécharger Free Video to MP3 ConverterCe logiciel permet d'extraire simplement la bande-son d'un fichier video au format Mp3 (uniquement). Le logiciel prend en charge les formats d'entrée suivants : flv, avi, mpeg, mpg, mpe, mp4, m4v, wmv, asf, mov, qt, 3gp2, 3gpp, 3gp, 3g2. L'extraction... www.commentcamarche.net/telecharger/telecharger-34055211-free-video-to-mp3-converter
Télécharger PS3 Video 9PS3 Video 9 est un outil de conversion gratuit permettant de convertir des fichiers vidéo (avi, divx, mpeg, etc.) au formats spécifiques acceptés par la console Playstation 3. www.commentcamarche.net/telecharger/telecharger-34055022-ps3-video-9
Télécharger PSP Video 9PSP Video 9 est un outil de conversion gratuit permettant de convertir des fichiers vidéo (avi, divx, mpeg, etc.) au formats spécifiques acceptés par la console Playstation Portable (PSP). Mise à jour effectuée le : 15/04/08 www.commentcamarche.net/telecharger/telecharger-34055024-psp-video-9
Fichier FLV Un fichier FLV (Flash vidéo) est un fichier vidéos encodés dans un format propriétaire par l'outil de développement Macromedia Flash. Ce fichier n'a à l'origine pas comme objectif d'être lu directement par un utilisateur mais à être accessible en... www.commentcamarche.net/fichier/flv.php3
Fichier SMV Un fichier SMV est un fichier vidéo prévu pour être lu sur certains appareils tels que des lecteurs MP3. Pour convertir une vidéo au format SMV, il suffit d'utiliser le logiciel SMV Convert tool. SMV convert Tool est un convertisseur vidéo vers le... www.commentcamarche.net/fichier/smv.php3
Fichier ASF Un fichier ASF est un fichier vidéo au format Windows Media, un format propriétaire de Microsoft. Pour lire une vidéo au format WMV, il suffit d'utiliser un lecteur multimédia tel que Windows Media Player, ou son équivalent libre, le lecteur VLC www.commentcamarche.net/fichier/asf.php3
Toutes les réponses pour « fichier vide »