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:

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;
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
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]\")"); 
	}
}
Le problème que je rencontre actuellement c'est que le champs "mailrse.Agence" est rempli n'importe comment.

Exemple:
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');
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
INSERT INTO `equipmt_region` (`equipement`, `region`) VALUES ('S20195', 'MED');
En gros, le résultat de la requête doit donner ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
('C20195B', 'S20195', 'toto', 'Coupure, '22/01/2010 09:51', '1025250', '', 'MED', '', 'VT00001892');
et pas ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
('C20195B', 'S20195', 'toto', 'Coupure, '22/01/2010 09:51', '1025250', '', 'IDF', '', 'VT00001892');
Merci de votre aide.