Voila le code de ma fonction de traitement.
function traitement_produits($fic, $link)
{
//$ligne=0;
// requete pour connaitre l'identifiant du dernier manufacturer
$id_max = mysqli_query($link ,"SELECT MAX(product_id) FROM jos_vm_product;")or die (mysqli_error($link));
$id_prod_max = mysqli_fetch_array($id_max);
// ouverture du fichier à lire
$flect = fopen($fic,"r");
fgetcsv($flect, 1500, ";");
ob_start();
while ($tab = fgetcsv ($flect, 1500, ";"))
{
$ligne++;
if ($tab[2] != "")
{
// requete pour sélectionner le manufacturer concerné par le produit
$req_id_man = mysqli_query($link ,"SELECT manufacturer_id FROM jos_vm_manufacturer WHERE mf_name = '".$tab[0]."';")or die (mysqli_error($link));
$id_man = mysqli_fetch_array($req_id_man);
// requete de vérification de l'existance du produit dans la BDD
$req_exist_prod = "SELECT * FROM jos_vm_product WHERE product_sku = '".control_Car($tab[1])."';";
$retour = mysqli_query($link ,$req_exist_prod);
$retour1 = mysqli_fetch_array($retour);
// vérification des disponibilités en stock
if ($tab[9] <= 0)
{
// produit non disponnible en stock
$availability = "Sur commande";
}
else
{
// produit disponnible en stocks
$availability = "48h.gif";
}
// calcul du prix HT
if ($tab[13] > 0)
{
$prix = $tab[8] - $tab[13];
}
else
{
$prix = $tab[8];
}
// si il n'existe pas alors on le créé
if (mysqli_num_rows($retour) <= 0)
{
$id_prod_max[0]++;
// requete d'insertion des produits
$req_insert_prod = "INSERT into `jos_vm_product` (`product_id`, `vendor_id`, `product_sku` ,`product_desc`, `product_thumb_image`,`product_full_image`, `product_publish`, `product_weight`, `product_weight_uom`, `product_url`, `product_in_stock`, `product_available_date`, `product_availability`, `cdate`, `mdate`, `product_name`, `product_tax_id`) VALUES (" .$id_prod_max[0]. ", 1,'".control_Car($tab[1])."','".control_Car($tab[3])."','".control_Car($tab[14])."','".control_Car($tab[14])."','Y',".control_Car($tab[10]).",'kg','".$tab[5]."',".control_Car($tab[9]).",".strtotime("+48 hours", strtotime(str_replace("/","-",$tab[17]))).",'".$availability."',".strtotime(date("d-m-Y")).",".strtotime(date("d-m-Y")).",'".control_Car($tab[2])."',3);";
$resultat1 = mysqli_query($link, $req_insert_prod);
// requete d'insertion id_prod et id_man
$req_insert_mf_prod = "INSERT into `jos_vm_product_mf_xref` (`product_id`, `manufacturer_id`) VALUES (".$id_prod_max[0].",".$id_man[0].");";
$resultat2 = mysqli_query($link, $req_insert_mf_prod);
// requete d'insertion des pris des produits
$req_insert_prix_prod = "INSERT into `jos_vm_product_price` (`product_price_id`, `product_id`, `product_price`, `product_currency`, `product_price_vdate`, `product_price_edate`, `cdate`, `mdate`, `shopper_group_id`) VALUES (".$id_prod_max[0].",".$id_prod_max[0].",".control_Car($prix).",'EUR',0,0,".strtotime(date("d-m-Y")).",".strtotime(date("d-m-Y")).",5);";
$resultat3 = mysqli_query($link, $req_insert_prix_prod);
// requete d'insertion de la categorie des produits
$req_insert_cat_prod = "INSERT into `jos_vm_product_category_xref` (`category_id`, `product_id`, `product_list`) VALUES (" .$tab[6]. ", " .$id_prod_max[0]. ", NULL)";
$resultat4 = mysqli_query($link, $req_insert_cat_prod);
}
else
{
// requete de modification des produits
$req_modif_prod = "UPDATE `jos_vm_product` SET `vendor_id`=1, `product_sku` = '".control_Car($tab[1])."',`product_s_desc`='".control_Car($tab[2])."', `product_desc`='".control_Car($tab[3])."', `product_full_image`='".$tab[14]."', `product_weight`=".control_Car($tab[10]).", `product_in_stock`=".control_Car($tab[9]).", `product_available_date`=".strtotime("+48 hours", strtotime(str_replace("/","-",$tab[17]))).", `product_availability`='".$availability."', `mdate`=".strtotime(date("d-m-Y")).", `product_name`='".control_Car($tab[2])."' WHERE `product_id`='".$retour1[0]."';";
$resultat5 = mysqli_query($link, $req_modif_prod);
// requete de modification des prix
$req_modif_prix_prod = "UPDATE `jos_vm_product_price` SET `product_price_id`=".$id_prod_max[0].", `product_price`=".control_Car($prix).", `mdate`=".strtotime(date("d-m-Y")).", shopper_group_id = 5 WHERE `product_id`=".$retour1[0].";";
$resultat6 = mysqli_query($link, $req_modif_prix_prod);
// requete de modification des catégories des produits
$req_modif_cat_prod = "UPDATE `jos_vm_product_category_xref` SET `category_id`=".$tab[6]." WHERE `product_id`=".$retour1[0].";";
$resultat7 = mysqli_query($link, $req_modif_cat_prod);
}
}
ob_end_flush();
//echo $ligne."\n";
}
//fermeture des fichier ouverts en début de programme
fclose($flect);
}