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