Bonjour,

J'ai un script d'importation de donnée dans ma base de donnée au format texte avec des séparateurs.

Mais lors de l'importation je voudrais effectuer quelque traiement afin que les donnée soient correctent en base de donnée

Le traitement du fichier je le faisait en manuelle aupparavant.

J'ai essayé de modifier mon script afin que cela soit possible, les donnée s'insèrent bien dans matable avec avec dec cotes ou une partie tronqué.

Pourriez vous m'aider a résoudre ce petit problème.

Je voudrais en quelque sorte
- Remplacer les , par un .
- Remplacer les "" par un blanc
- Remplacer les 00:00:00 par un blanc

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 
<?php
session_start ();
echo "Utilisateur : ";
echo $_SESSION['pseudo'];
echo'<br>';
ini_set ("error_reporting", "E_ALL & ~E_NOTICE");
if ($_SESSION['level']==1)
header('location:../index.php');
?>
 
<?php
include('../inc/inc_connexion.php');
 
 
 
set_time_limit(0); 
 
//Le chemin d'acces a ton fichier sur le serveur 
$fichier = fopen("facture.txt", "r"); 
 
//tant qu'on est pas a la fin du fichier : 
while (!feof($fichier)) 
{ 
// On recupere toute la ligne 
$uneLigne = fgets($fichier, 4096); 
 
// nettoyage du texte
 
$tableauValeurs = preg_replace(',', '.', $tableauValeur);
$tableauValeurs = preg_replace('""', '', $tableauValeur);
$tableauValeurs = preg_replace('€', '', $tableauValeur);
$tableauValeurs = preg_replace('00:00:00', '', $tableauValeur);
 
//On met dans un tableau les differentes valeurs trouvés (ici séparées par un ';') 
 
$tableauValeurs = explode(";", $uneLigne);
 
 
//*****************************************************************//
//	déclaration des champs de ma table  facture                         //
//*****************************************************************//
$fact_id="";
$fact_facture=""; // Ma clef primaire
$fact_intitule="";
$fact_montant="";
$fact_session="";
$fact_date="";
$fact_echeance="";
$fact_type="";
$fact_annee="";
 
//Pour avoir 20100308 ; 
$date=implode('-',array_reverse (explode('/',$date)));
 
//***************************************************************//
			// On crée la requete pour inserer les donner (ici il y a 14 champs donc de [0] a [8]) 
			// -> Le 2eme champ c'est la clé primaire
			$sql = "INSERT INTO facture (fact_id,fact_facture,fact_intitule,fact_montant,fact_session,fact_date,fact_echeance,fact_type,fact_annee) VALUES (
				'".addslashes($tableauValeurs[0])."', 
				'".addslashes($tableauValeurs[1])."', 
				'".addslashes($tableauValeurs[2])."', 
				'".addslashes($tableauValeurs[3])."', 
				'".addslashes($tableauValeurs[4])."', 
				'".addslashes($tableauValeurs[5])."', 
				'".addslashes($tableauValeurs[6])."',
				'".addslashes($tableauValeurs[7])."',
				'".addslashes($tableauValeurs[8])."')";
			$reqt = mysql_query($sql) or die(mysql_error());
			}
			header('location:../reuni/dus_admin.php');
?>
Pour vous aider, ci-joint le format du fichier

Je vous remercie par avance de votre aide

Runcafre91