Import d'un fichier excel dans une base de données

Résolu
cacourli Messages postés 4 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 30 mai 2005 - 17 mai 2005 à 17:59
cacourli Messages postés 4 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 30 mai 2005 - 18 mai 2005 à 14:29
Bonjour a tous,

J'aurais une petite question. Je suis entrain de réaliser un import d'excel vers ma base de données, pour cela pas de problème. J'ai converti mon fichier excel en csv, je l'ai inséré dans une table temporaire de ma base.
Ou j'ai un souci, c'est que lorsque que je sauve dans ma table il copie le 1ier champs comme suit : "toto. il garde le guillemet ce qui me géne bcp.

Code :

while (!feof(
$fp))
{
/* Tant qu'on n'atteint pas la fin du fichier */



$ligne = fgets(
$fp,
4096);
/* On lit une ligne */



/* On récupère les champs séparés par ; dans liste*/



$liste = explode(
";",
$ligne);



/* On assigne les variables */



$nom =
$liste[
0];



$prenom =
$liste[
1];



$adresse =
$liste[
2];



$codepostal =
$liste[
3];



$ville =
$liste[
4];



/* Ajouter un nouvel enregistrement dans la table */



$query =
"INSERT INTO ".
$table.
" VALUES(' $nom
','$prenom
','$adresse
','$codepostal
','$ville
')";



$result = MYSQL_QUERY(
$query);

voila ce que je fais il y a rien de compliqué. Mais je dois certainement oublié de dire tu prends pas le guillemet mais j'ai pas trouvé.

Merci d'avance.

5 réponses

ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
18 mai 2005 à 08:45
Salut,

Dans ton csv meme il n'y aurai pas des " aussi devant ton champ ceci expliquerai cela...

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller"
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
18 mai 2005 à 10:13
Hello,



suis completement d'acccord, lol.

Tu peux faire un ltrim ($liste, '"'); eventuellement.
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
18 mai 2005 à 11:00
Tu supposes bien :-)

Pourqui n'utilises tu pas plutot la fonction dediees a la lecture des
fichiers cvs (oui bon question conne, tu ne connaissais sans doute pas
l'existence de cette fonction lol) ?

Ca t'eviterait peut-etre ce probleme.

http://de2.php.net/manual/en/function.fgetcsv.php
3
cacourli Messages postés 4 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 30 mai 2005
18 mai 2005 à 10:29
Bonjour,

dans mon csv je n'ai pas de ", mais lorsque j'importe le fichier dans ma database il copie la ligne suivante :
"toto|tata|8 rue du temple|95000|titi"
alors que dans mon fichier csv j'ai :
toto;tata;8 rue du temple;95000;titi

ltrim c'est pour supprimer un caractére à gauche je suppose.

Merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cacourli Messages postés 4 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 30 mai 2005
18 mai 2005 à 14:29
J'ai fais le test avec fgets et fgetcsv j'ai le même probléme de ".

J'ai enfin utilisé fgets pour pouvoir faire des essais avec différents types de fichier csv et txt.
Mais mon probléme j'ai put le résoudre grâce à ltrim et rtrim.

Merci beaucoup.
0