J'ai résolu mon problème, voici ma solution.
<?php
include ("accesbdd_dev.php");
// ouvre le fichier test.csv en lecture seule
$handle = fopen("test2.csv", "r");
$datejour = date('d-m-Y');
$fichier_anomalie='anomalie(s)'.'_'.$datejour.'.csv' ;
$temp =" CREATE TABLE temp_sn (IDreseau_ord varchar(15), type_ord varchar(40), last_date date) " ;
$create = mysql_query($temp);
while(($data = fgetcsv($handle, 1000, ";")) !== FALSE)
// commence a la premiere ligne et s'incremente a chaque sortie de boucle
{
// si le numéro de série est vide, alors on le range directement dans un fichier anomalie
if($data[3]=='0' || $data[3]=='')
{
$data_vide = " SELECT * FROM temp_sn WHERE IDreseau_ord='$data[1]' " ; // on recupere les id_reseau
$get_result = mysql_query($data_vide);
$nbligne = mysql_num_rows($get_result);
$result_tableau = mysql_fetch_array($get_result);
$data_date = substr($data[0], 0, 10); // recuperation du champ JJ/MM/AAAA du champ date de la variable $date[0]
$champ1 = substr($data_date, 0, 2) ; // recuperation du champ JJ de la variable $data_date
$champ2 = substr($data_date, 3, 2) ; // recuperation du champ MM de la variable $data_date
$champ3 = substr($data_date, 6, 4) ; // recuperation du champ AAAA de la variable $data_date
$date = $champ3.'-'.$champ2.'-'.$champ1; // concaténation pour le format MySQL
if($nbligne>0)// si la ligne existe, on va comparer la ligne presente et la ligne ou se trouve le pointeur
{
if($result_tableau[2]<=$date)
{
/* je trie directement par identifiant reseau si le numéro de série est vide, ne pouvant exploiter un ID reseau relié un
modèle */
$upd = " UPDATE temp_sn SET last_date = '$date' WHERE IDreseau_ord='$data[1]' " ;
$sql = mysql_query($upd);
}
}
else
{
//si aucune ligne ne correspond au couple on fait une insertion dans la base de donnée
$ins = "INSERT INTO temp_sn (IDreseau_ord, Type_ord, last_date) VALUES ('$data[1]', '$data[2]', '$date')";
$sql = mysql_query($ins) OR die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
}
}
//sinon rangement dans la base MySQL
if($data[3]!='0' && $data[3]!='')
{
//création de la requete SQL
$data_sn = "SELECT * FROM description_ordinateur WHERE Num_Serie_Ordi='$data[3]' ";
$get_result = mysql_query($data_sn); // cherche champs num_serie_ord dans la base MySQL qui correspondent à la valeur désignée
$nbligne = mysql_num_rows($get_result); // on récupère le nombre de ligne renvoyées par le resultat de $get_result avec mysql_nums_rows
// ici un seul champ peut être trouvé
$result_tableau = mysql_fetch_array($get_result); // on met les données dans une ligne crée par les champs de la table description_ordinateur
$data_date = substr($data[0], 0, 10); // recuperation du champ JJ/MM/AAAA du champ date de la variable $date[0]
$champ1 = substr($data_date, 0, 2) ; // recuperation du champ JJ de la variable $data_date
$champ2 = substr($data_date, 3, 2) ; // recuperation du champ MM de la variable $data_date
$champ3 = substr($data_date, 6, 4) ; // recuperation du champ AAAA de la variable $data_date
$date=$champ3.'-'.$champ2.'-'.$champ1; // concaténation pour le format MySQL
if($nbligne>0)// si la ligne existe, on va comparer la ligne presente et la ligne ou se trouve le pointeur
{
if($result_tableau[7]<=$date)
{
$upd = " UPDATE description_ordinateur SET IDreseau_ord = '$data[1]', Date_changement_statut_ord = '$date' WHERE Num_Serie_ordi='$data[3]' " ;
$sql = mysql_query($upd);
}
}
else
{
//si aucune ligne ne correspond au couple on fait une insertion dans la base de donnée
$ins = "INSERT INTO description_ordinateur (Num_Serie_Ordi, IDreseau_ord, Type_ord, Date_changement_statut_ord) VALUES('$data[3]', '$data[1]', '$data[2]', '$date')";
$sql = mysql_query($ins) OR die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
}
$data_id = "SELECT * FROM description_ordinateur WHERE IDreseau_ord='$data[1]' ";
$get_result = mysql_query($data_id); // cherche champs IDreseau_ord dans la base MySQL
$result_tableau = mysql_fetch_array($get_result); // on met les données dans une ligne crée par les champs de la table description_ordinateur
$nbr=1;
while($ligne=mysql_fetch_row($get_result))
{
if($result_tableau[7]<$date)
{
$upd = " UPDATE description_ordinateur SET OLD = '$nbr' WHERE Date_changement_statut_ord='$result_tableau[7]' AND IDreseau_ord='$data[1]' " ;
$sql = mysql_query($upd);
$nbr++;
}
}
}
}
// je vais selectionner toutes les lignes de ma table temp_sn
$sel = " SELECT * FROM temp_sn " ;
$sql = mysql_query($sel);
// je lis les lignes une par une tant que je n'arrive pas à la fin
while($ligne=mysql_fetch_row($sql))
{
// ajout dans le fichier anomalie
$anomalie = fopen($fichier_anomalie, 'at');
fputcsv($anomalie, $ligne, ";");
fclose($anomalie);
}
// je supprime la table temporaire
$sup_temp = " DROP TABLE temp_sn " ;
$drop = mysql_query($sup_temp) ;
mysql_close();
// message de test de fin d'execution
echo " Init terminé " ;
?>