Bonjour,
J'utilise 2 tables
Je rapatrie le contenu d'un fichier CSV vers la table "mailrse", je rempli le champ "mail_rse.Agence" en executant la requête "$eXtractAgence".
Voilà la strucuture des 2 tables que j'utilise:
Voilà mon code PHP:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 CREATE TABLE `equipmt_region` ( `equipement` varchar(15) NOT NULL, `region` varchar(4) NOT NULL, UNIQUE KEY `equipement` (`equipement`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; CREATE TABLE `mailrse` ( `site` varchar(10) NOT NULL, `parent` varchar(10) NOT NULL, `Auteur` varchar(20) NOT NULL, `Type` text NOT NULL, `date` varchar(20) NOT NULL, `Commentaire` text NOT NULL, `Region` varchar(20) NOT NULL, `Agence` varchar(20) NOT NULL, `motif` text NOT NULL, `num_evt` varchar(20) NOT NULL, KEY `site` (`site`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Le problème que je rencontre actuellement c'est que le champs "mailrse.Agence" est rempli n'importe comment.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 $fichier = fopen("monFichier.CSV","r"); //tant qu'on est pas a la fin du fichier : while (!feof($fichier)) { /* variable pour avoir la taille de ligne */ $tailleLigne = 0; // On recupere toute la ligne $uneLigne = fgets($fichier); $tailleLigne = strlen($uneLigne); $uneLigne = substr($uneLigne,1,$tailleLigne-4); //On met dans un tableau les differentes valeurs trouvés (ici séparées par un '","') $tableauValeurs = explode(";", $uneLigne); $eXtractAgenceSQL= mysql_query('SELECT equipmt_region.region FROM equipmt_region, mailrse WHERE mailrse.site=equipmt_region.equipement OR mailrse.parent=equipmt_region.equipement'); $eXtractAgence=mysql_fetch_row($eXtractAgenceSQL); // On crée la requete pour inserer les donner (ici il y a 5 champs donc de [0] a [4]) if($tableauValeurs[0]!=""){ mysql_query("INSERT INTO mailrse (site,parent,Auteur,Type,date,Commentaire,Region,Agence,motif,num_evt) VALUES (\"$tableauValeurs[4]\",\"$tableauValeurs[6]\",\"$tableauValeurs[11]\",\"$tableauValeurs[1]\",\"$tableauValeurs[9]\", \"$tableauValeurs[12]\",\"$tableauValeurs[7]\",\"$eXtractAgence[0]\",\"$tableauValeurs[13]\",\"$tableauValeurs[0]\")"); } }
Exemple:
Alors que dans la table "equipmt_region", S20195 a pour agence MED, c'est à dire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 INSERT INTO `mailrse` (`site`, `parent`, `Auteur`, `Type`, `date`, `Commentaire`, `Region`, `Agence`, `motif`, `num_evt`) VALUES ('C20195B', 'S20195', 'toto', 'Coupure, '22/01/2010 09:51', '1025250', '', 'IDF', '', 'VT00001892');
En gros, le résultat de la requête doit donner ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part INSERT INTO `equipmt_region` (`equipement`, `region`) VALUES ('S20195', 'MED');
et pas ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part ('C20195B', 'S20195', 'toto', 'Coupure, '22/01/2010 09:51', '1025250', '', 'MED', '', 'VT00001892');
Merci de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ('C20195B', 'S20195', 'toto', 'Coupure, '22/01/2010 09:51', '1025250', '', 'IDF', '', 'VT00001892');
Partager