Création base MYSQL à partir d'un CSV

Kylian -  
 Kilian -
Bonjour,

je travail actuellement sur le site d'un client ayant tout les 15jours des tarifs différents sur ses produits.
Voici un exemple de fichier CSV.


//code csv
Réf: Smart;Quantité;128MO;256MO;512MO;1GO;2GO;4GO;8GO;16GO;; 
;;;;;;;;;;; 
;100;3,11 €;3,29 €;3,47 €;4,00 €;4,98 €;6,49 €;10,75 €;19,82 €;; 
;250;2,99 €;3,16 €;3,33 €;3,84 €;4,78 €;6,24 €;10,34 €;19,05 €;; 
;500;2,94 €;3,11 €;3,28 €;3,78 €;4,71 €;6,14 €;10,17 €;18,75 €;; 
;1000;2,89 €;3,06 €;3,23 €;3,72 €;4,63 €;6,04 €;10,01 €;18,44 €;; 
;2500;2,82 €;2,98 €;3,15 €;3,63 €;4,52 €;5,89 €;9,76 €;17,99 €;; 
Voir fiche technique;;;;;;;;;;; 
Gamme TOP BUDGET;Marquage inclus de 1 à 4 couleurs recto/verso au pantone -supplément quadri  + 0,29€/face;;;;;;;;;; 
Catalogue Page 4;Délai de livraison sous 8 jours ouvrables - Délai à titre indicatif - BAT gratuit sous 4 heures maxi;;;;;;;;;; 
;;;;;;;;;;; 
Réf: Cercle;Quantité;128MO;256MO;512MO;1GO;2GO;4GO;8GO;16GO;; 
;;;;;;;;;;; 
;100;3,20 €;3,38 €;3,55 €;4,09 €;5,06 €;6,58 €;10,84 €;19,90 €;; 
;250;3,08 €;3,25 €;3,42 €;3,93 €;4,87 €;6,32 €;10,42 €;19,14 €;; 
;500;3,03 €;3,19 €;3,36 €;3,87 €;4,79 €;6,22 €;10,26 €;18,83 €;; 
;1000;2,98 €;3,14 €;3,31 €;3,80 €;4,71 €;6,12 €;10,09 €;18,53 €;; 
;2500;2,90 €;3,06 €;3,23 €;3,71 €;4,60 €;5,97 €;9,84 €;18,07 €;; 
Voir fiche technique;;;;;;;;;;; 
Gamme TOP BUDGET;Marquage inclus de 1 à 4 couleurs recto/verso au pantone -supplément quadri  + 0,29€/face;;;;;;;;;; 
Catalogue Page 4;Délai de livraison sous 8 jours ouvrables - Délai à titre indicatif - BAT gratuit sous 4 heures maxi;;;;;;;;;; 
;;;;;;;;;;; 
Réf: Fly;Quantité;128MO;256MO;512MO;1GO;2GO;4GO;8GO;16GO;; 
;;;;;;;;;;; 
;50;2,72 €;2,90 €;3,07 €;3,61 €;4,59 €;6,10 €;10,36 €;19,42 €;; 
;250;2,61 €;2,79 €;2,96 €;3,47 €;4,41 €;5,86 €;9,96 €;18,68 €;; 
;500;2,57 €;2,74 €;2,91 €;3,41 €;4,34 €;5,77 €;9,80 €;18,38 €;; 
;1000;2,53 €;2,70 €;2,86 €;3,36 €;4,27 €;5,67 €;9,64 €;18,08 €;; 
;2500;2,47 €;2,63 €;2,79 €;3,27 €;4,16 €;5,53 €;9,40 €;17,63 €;; 
Voir fiche technique;;;;;;;;;;; 
Gamme TOP BUDGET;Marquage inclus de 1 à 4 couleurs recto/verso au pantone - supp couleur 39€ +0,29/face suivant faisabilité;;;;;;;;;; 
Catalogue Page 4;Délai de livraison sous 8 jours ouvrables - Délai à titre indicatif - BAT gratuit sous 4 heures maxi;;;;;;;;;; 
;;;;;;;;;;; 


Je vous avouerai que ça va être de la bidouille pour tout placer dans une BDD mais c'est possible.

Une fois récupérer, ces données me serviront à établir des devis, j'aurai voulu votre avis sur la création de la base de données mysql et si vous auriez une méthode assez rapide pour placer ses valeurs dans ma futures BDD.

Personnellement jenvisagai de créer un table regroupant :
-La référence
-Gamme
-Marquage
-Delai
-Texte de présentation
-Lien vers page technique
-ainsi des différents champs 128M 256MO(true false) etc pour savoir si le produit existe en cette capacité.
Puis une autre table qui par une jointure avec l'id me permettrai de gerer la quantité en fonction de la capacité.
exemple
-id
-id ref produit
-quantité
-prix en 128mo
-Prix en 256mo
etc...
J'aimerai avoir l'avis de personnes compétentes car je sais qu'avec mon système je vais me retrouver avec une BDD très lourde et assez difficile à gérer.

Cordialement



A voir également:

6 réponses

GTA.999 Messages postés 162 Statut Membre 92
 
bah dans mysql tu crée une table "produits"
dedant tu defini tout tes produit avec leurs catégories et tu ajoutes tes produits avec un script php dont seul toi tu aura acces (proteger avec un htacces de préference ou par mysql avec une table de logins ou ton patron poura modifier ses produits ou les suprimera ou en ajoutera!
si tu veux de l'aide je connais un codeur ( XP3 ) envoi lui un MP :
http://www.xp3land.com/
( c'est l'admin donc tu n'aura pas de difficulté a le trouver )
0
Kylian
 
Je suis codeur...
J'ai besoin d'avis par que l'on me le fasse d'ailleurs ton super forum avec une intro :
"Bienvenu sur, -=[XP3-LAND]=-! rejoin nous pour avoir un navigation plus détendu (moins de restrictions)"
y'a pas selon toi un souci?

Enfin bref je tiens juste à rajouter que je cherche à créer une BDD me permettant un update et la création d'un devis facile via les données du CSV

Cordialement
0
tito23 Messages postés 318 Statut Membre 4
 
Voici un code pour la lecture d'un fichier csv, il lie les colonnes (de 18 à 35) puis fait l'enregistrement les cellules(de 18 à 35) dans une table rendezvous
$file ='filesCSV/'.$_FILES['fichier1']['name'];
$handle = fopen($file,'r');
$table =  array();     
$i=0;
while (($data = fgetcsv($handle, 0, ";")) !== FALSE ) 
{if($i!== 0)
{
$j=0;
$c=6; 
$table[$j]=$data[$c];

for ($c=18; $c < 36; $c++) 
	{
		$j++;
		$table[$j]=$data[$c];
		
		
    }
	$j++;
$table[$j]=$data[12];
$result1 = mysql_query("insert into rendezvous(teleoperateur,PRENOM,NOM,ADRESSE,CODE_POSTAL,TELEPHONE,CIVILITE,SOCIETE,PAYS,TITRE,VILLE,FAX,MAIL,COMMENTAIRE,REPONSE,REPONSE2,REPONSE1,MOBILE,dat_prise_rdv,compagne,id_fichier,detRDV,etat_final) values('".$table[0]."','".$table[1]."','".$table[2]."','".$table[3]."',".$table[4].",'".$table[5]."','".$table[6]."','".$table[7]."','".$table[8]."','".$table[9]."','".$table[10]."','".$table[12]."','".$table[13]."','".$table[14]."','".$table[16]."','".$table[17]."','".$table[18]."','".$table[11]."','".$date."','".$_SESSION['compagne']."',".$_SESSION['id_fich'].",'".$table[$j]."','nouveau')");
if(!$result1) {echo 'erreur d\'insertion dans la table';}
	}$i++;}
0
Kylian
 
Merci tito,
Je n'ai pas de problème à la lecture du CSV c'est plutôt dans la création de la BDD sachant que derrière ses infos je vais devoir les réutiliser pour un devis.

J'aimerai avoir un accès rapide au infos du CSV qui me permettrai un update assez rapide sans avoir trop de champ par table.

Mais merci tito, j'ai à peu près le même code =)
0

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

Posez votre question
JooS Messages postés 2705 Statut Membre 228
 
Salut, .... t'as un problème avec l'importation des données ??

Pourtant c'est facile d'importer des données CSV dans une table MySQL ... !!
0
Kilian
 
joos: lis le sujet initial...

Mon problème c'est pas l'insertion...
J'essaye juste d'optimiser ma BDD pour eviter de la surcharger.
Ce n'est pas un ensemble de données fixe pour le CSV parfois les quantité varie
exemple pour un produit:
15, 25,500,1000
et pour un autre
25, 75, 500, 5000
0