Bonjour voici mon probleme

jai une boucle qui insert des données trimestriel (provenant d'un fichier excel) , j'aimerai tester si la date de mon fichier excel n'est pas deja en base , si elle n'est pas en base je peux entrer dans ma boucle et insert . (car le fichier trimestriel a la meme date pour chaque ligne) je ne sais pas comment tester la date sans entrer dans ma boucle.

Voici mon code qui est fonctionnel mais qui ne teste pas si la date existe deja avant l'insertion


extract.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
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
73
74
75
76
77
78
79
80
 
<?php
include 'includes/global.inc';
include 'includes/functions.php';
 
$link = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error());
mysql_select_db($db) or die("Can not connect.");
 
if($_FILES)
{
	$fichier=basename($_FILES['file']['name']);
	$ext_fichier=strchr($_FILES['file']['name'],'.');
	$taille_fichier= filesize($_FILES['file']['tmp_name']);
}
 
//upload du fichier
if($_POST)
{
	if (!in_array($ext_fichier,$ext))
	{
		$erreur=" ERREUR Doit être au format csv";
	}
	if ($taille_fichier>$taille_max)
	{
		$erreur=" ERREUR le fichier est trop volumineux";
	}
 
	if(file_exists( $rep . $_FILES['file']['name']))
	{
		$erreur=" ERREUR le fichier a déjà été uploadé ";
	}
 
}
if(isset($erreur))
{
	echo $erreur;
}
 
 
if(!isset($erreur))
{
 
	if(move_uploaded_file($_FILES['file']['tmp_name'], $rep . $fichier=$_FILES['file']['name']))
	{
 
		$handle = fopen ($rep.$fichier,'r');
		fgetcsv ($handle, 0, ";");
 
		while ($data = fgetcsv ($handle, 1000, ";"))
	 {
	 	//traitement des données
	 	$data[41] = str_replace('€','',$data[41]);
	 	$data[2] = implode('-',array_reverse(explode('/',$data[2])));
 
	 	$periodeconso=$data[0];
	 	$periodeabonnement=$data[1];
	 	$datefacture=$data[2];
	 	$ligne=$data[8];
	 	$montant=$data[41];
	 	$montant=str_replace(',','.',$montant.";");
	 	//insertion en base
 
	 	$code_retour = insertSfr ($periodeconso,$periodeabonnement,$datefacture,$ligne,$montant);
 
 
	 }
	}
	if ($code_retour)
	{
		//	echo 'ok';
	 exportTocsv ();
	}
	else
	{
		echo 'Insertion echoue';
	}
 
	mysql_close ();
	fclose ($handle);
}
--- fonction.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
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
73
74
75
<?php 
include 'includes/db.inc.php';
include 'includes/global.inc';
 
function insertSfr($periodeconso,$periodeabonnement,$datefacture,$ligne,$montant ){
 
// Préparation de la requete d'insertion
$sql = "INSERT INTO consomation (periode_conso,periode_abonnement,date_facture,ligne,montant) VALUES ('".$periodeconso."','".$periodeabonnement."','".$datefacture."','".$ligne."','".$montant."')";
$result= mysql_query($sql);
if (!$result) {
		$message = '<b>Invalid query:</b>' . mysql_errno() . '<br>' . mysql_error() . '<br><br>';
		$message .= '<b>Whole query:</b><br>' . $sql . '<br><br>';
		$message .= 'ON ' . __FILE__ . ' LINE ' . __LINE__ ; 
		echo $message;
		die();
	}
	return $result;
}
 
function testDate ($datefacture){
include 'includes/db.inc.php';
include 'includes/global.inc';
	$sql = "SELECT date_facture FROM consomation WHERE date_facture ='".$datefacture."'";
 
	$result = mysql_query($sql);
 
 
}
 
//exportation des donnees en csv
 
 
function exportTocsv (){
 
include 'includes/db.inc.php';
include 'includes/global.inc';
 
$result = mysql_query("SHOW COLUMNS FROM ".$table."");
$i = 0;
 
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
//$csv_output .= $row['Field'].";";
 
$i++;}
}
//$csv_output .= "\n";
 $values = mysql_query("SELECT * FROM ".$table." WHERE month=".$previousmonth."");
 
while ($rowr = mysql_fetch_row($values)) {
for ($j=0;$j<$i;$j++) {
$csv_output .= str_replace('.',',',$rowr[$j].";");
}
$csv_output .= "\n";
}
 
$filename = $file."_".date("d-m-Y_H-i",time());
 
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header( "Content-disposition: filename=".$filename.".csv");
 
print $csv_output;
 
exit;
}
/*	
function testDate ($datefacture){
	$sql = "SELECT COUNT(date_facture) as count FROM consomation WHERE date_facture ='".$datefacture."'";
	$result = mysql_query($sql);
	$count = mysql_result($result,0,'count');
	return $count;
}
*/	
?>
--- global
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 
    $rep='extract/';   //repertoire d'upload 
	$taille_max=2097152;	//taille max upload
	$ext=array('.csv');
	$today = date("d.m.y");
	$code_retour = null;
	$file = 'mp'; // csv name.
	$csv_output = '';
	$previousmonth=date("m",strtotime("-1 months"));
	$currentyear = date("Y");
 
?>
Merci pour votre aide j'espere avoir posté dans la bonne section.