Bonjour;
J'aurais besoin de votre aide pour modéliser la situation suivante :
Je dois importer un fichier csv vers une base MYSQL, afin d'y effectuer des traitements : CRUD, filtrage....
Ne connaissant pas le type ni le nombre des colonnes du fichier source, je ne peux pas faire une table statique.
J'utilise donc, pour le moment, cette solution que je trouve moche :
Admettons que mon fichier a la structure suivante :
"Nom", "Prenom", "mail"
"Dupont", "Fabrice", "fabrice@developpez.com"
...
------------------------------------------------------------------------
j'ai une table "mapping" qui décrit les colonnes du fichiers csv.
elle contient les champs,nom des colonnes, ...
Table mapping:
id | colonne_1 | colonne_2 | colonne_3 | ...... jusqu'à 30
1 | nom::string | prenom::string | mail::email-adress | ....
Table contacts :
id | mapping_id | colonne_1 | colonne_2 | colonne_2 | ..... jusqu'à 30
1 | 1 | Dupont | Fabrice | fabrice@developpez.com |...
Bien que cette solution fonctionne trés bien, il y des inconveniants :
- Il faut limiter le nombre de colonnes (30 dans mon cas) alors qu'un fichier peut contenir plus que 30 colonnes !
- chaque fois que je veux extraire le type d'une colonne, je doit faire 2 requetes + des explodes (PHP)....
- Je la trouve franchement moche, et je pense qu'on peut faire mieux.
POUVEZ vous m'aider svp.
Partager