Import d'un fichier excel dans une base de données [Résolu]

Messages postés
4
Date d'inscription
lundi 13 novembre 2000
Dernière intervention
30 mai 2005
- - Dernière réponse : cacourli
Messages postés
4
Date d'inscription
lundi 13 novembre 2000
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.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
393
Date d'inscription
mardi 2 décembre 2003
Dernière intervention
29 septembre 2008
3
Merci
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"

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 87 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ehmarc
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
31
3
Merci
Hello,



suis completement d'acccord, lol.

Tu peux faire un ltrim ($liste, '"'); eventuellement.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 87 internautes nous ont dit merci ce mois-ci

Commenter la réponse de malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
31
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 87 internautes nous ont dit merci ce mois-ci

Commenter la réponse de malalam
Messages postés
4
Date d'inscription
lundi 13 novembre 2000
Dernière intervention
30 mai 2005
0
Merci
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
Commenter la réponse de cacourli
Messages postés
4
Date d'inscription
lundi 13 novembre 2000
Dernière intervention
30 mai 2005
0
Merci
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.
Commenter la réponse de cacourli

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.