Bonjour à tous!!
 
je suis actuellement bloqué sur une importation de données via un fichier csv.
je suis novice en php, et je viens de découvrir la majorité des fonctions incluses dans ce code :  
Code :
 - <?
 - if (isset ($_POST['importer']) AND !empty ($_POST['importer']))
 - {
 - mysql_connect("localhost", "root", "" );
 - mysql_select_db("carte_demarchage" );
 - $row=1;
 - $handle = fopen($_POST['importer'], 'r' );
 - while (($data = fgetcsv($handle, 1000, ';')) !== FALSE)
 - {$num = count($data);
 - echo '<p> '.$num.' entrées à la ligne'.$row.' : <br /> </p> \n';
 - $row++;
 - for ($c=0; $c < $num; $c++)
 - {echo ($data[$c].'<br />');
 - $essai = explode (";" , $data[$c]);
 - //test de $essai
 - echo $essai[0];
 - echo $essai[1];
 - $requeteinsertion = mysql_query ('INSERT INTO tp_fdv (CodeRemettant, LibRemettant) VALUES ("'.$essai['0'].'", "'.$essai['1'].'" ) ') or die(mysql_error());
 - }
 - //lit le fichier incarné par $handle
 - //$contents = fread ($handle, filesize ($_POST['importer']));
 - //echo $contents;
 - echo '<br> youplaliyouplala';
 - }
 - fclose($handle);}
 - //else { echo 'Veuillez spécifier le chemin d\'un fichier  ';}
 - ?>
 
  | 
 
alors voilà j'ai plusieurs soucis :  
1 - mon fichier csv a pour séparateur de champs le ';'.
lorsque je fais : echo ($data[$c].'<br />'); ça m'affiche chaque champs à la ligne.
exemple :  
(ligne 1 qui correspond au nom des champs)
Identifiant
nom
prénom
....  
 
(ligne 2 qui correspond aux données cette fois ci )
abcd
dupont
robert
....
 
est-ce normal? je dois pas avoir plutot tout à la suite et avoir un saut de ligne à la fin de chaque ligne et non à la fin de chaque champ?
 
2- mon code me met comme erreur undefined offset... on line 26, c'est à dire auè niveau des echo $essai[0] et [1]
et idem avec offset 2...
ça veut dire quoi? 
  
 
qq'un peut m'orienter un peu s'il vous plait?
 
merci beaucoup!!! 
 
[edit]
bon déjà $essai[1] n'existe pas...d'ou les problèmes d'offset.
seul $essai[0] est valide...enfin...façon de parler.
 
le résultat de ce m..dier : il m'insere toutes mes données les 1 ) la suite des autres dans le champ coderemettant...?
ça doit être le explode qui me donne des résultats inattendus, ou les fgetcsv...
 
Message édité par flock86 le 21-02-2006 à 12:25:52