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

[Résolu]
Signaler
Messages postés
4
Date d'inscription
lundi 13 novembre 2000
Statut
Membre
Dernière intervention
30 mai 2005
-
Messages postés
4
Date d'inscription
lundi 13 novembre 2000
Statut
Membre
Dernière intervention
30 mai 2005
-
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

Messages postés
393
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
29 septembre 2008

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"
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Hello,



suis completement d'acccord, lol.

Tu peux faire un ltrim ($liste, '"'); eventuellement.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
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
Messages postés
4
Date d'inscription
lundi 13 novembre 2000
Statut
Membre
Dernière intervention
30 mai 2005

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
Messages postés
4
Date d'inscription
lundi 13 novembre 2000
Statut
Membre
Dernière intervention
30 mai 2005

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.