Erreur lors de l'importation des produits

8 messages dans ce sujet

Posté(e) · Signaler ce message

AH NON, LA JE SUIS AU BOUT DU ROULEAU, Monsieur PEEL, IL VA FALLOIR FAIRE FACE !!!!!!!!!

Je m'explique, après des jours et des jours d'essais infructueux, ce matin, je passe pour la première fois ma tentative d'importation d'articles. Pour la 1ere fois, pas de message de bug (OUF!!), mais attention, je n'ai plus qu'1 seul produit et en plus ca va pas, j'ai perdu tout le reste, C'EST QUOI CE MODULE D'IMPORTATION !!!!! AU SECOURS IL Y A LE FEU !!!!

Je pense que l'on a été excéssivement patients et on va de désillusions en désillusions, APPELEZ MOI SVP AU 03.44.22.65.39, car là ca va très mal !!!

J'espère que vous possédez une sauvegarde de mes produits car je vous ai interrogé 10 fois sur les possibilités d'importation de chez vous à chez nous pour sauvegarder l'encours, je n'ai pas de réponses, résultats des courses on est dans la M.... !!!!!

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

AH NON, LA JE SUIS AU BOUT DU ROULEAU, Monsieur PEEL, IL VA FALLOIR FAIRE FACE !!!!!!!!!

Je m'explique, après des jours et des jours d'essais infructueux, ce matin, je passe pour la première fois ma tentative d'importation d'articles. Pour la 1ere fois, pas de message de bug (OUF!!), mais attention, je n'ai plus qu'1 seul produit et en plus ca va pas, j'ai perdu tout le reste, C'EST QUOI CE MODULE D'IMPORTATION !!!!! AU SECOURS IL Y A LE FEU !!!!

Je pense que l'on a été excéssivement patients et on va de désillusions en désillusions, APPELEZ MOI SVP AU 03.44.22.65.39, car là ca va très mal !!!

J'espère que vous possédez une sauvegarde de mes produits car je vous ai interrogé 10 fois sur les possibilités d'importation de chez vous à chez nous pour sauvegarder l'encours, je n'ai pas de réponses, résultats des courses on est dans la M.... !!!!!

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

j'ai bien évidemment un backup de vos données que je vais vous remettre en place mais je ne peux pas ça en 3 minutes

je le ferais d'ici demain soir, mais il faudrait m'envoyer votre fichier de données car il doit contenir des erreurs

Cordialement

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

1. Le fichier à importer normalement est un annule et remplace ce qui veut dire qu'il efface la base produit puis l'importe

je vous l'ai modifié pour qu'il n'efface pas la base et j'ai réimporté la base d'hier soir => pour ceux que ça intéresse code en dessous

2. le fichier que vous importer ne doit pas comporter de référence à c:\kauffer => le serveur tourne sous linux

3. Il faut mettre vos photos par ftp dans le répertoire /upload

<?php

include("../configuration.inc.php");

necessite_identification();

necessite_priv("admin");


$DOC_TITLE = "Module d'importation";

include("modeles/haut.php");


	 switch (vb($_POST['action'])) { 


	  /* LECTURE ET AJOUT DES DONNEES DANS LA TABLE */ 


	 case  "ajouter": 


	 $repertoire_upload = "$dirroot/upload/";


	/* Importation du fichier */

	echo "Type de fichier import&eacute; : ".$_FILES['fichier']['type']."<br />";


	if (!empty($_FILES['fichier']['name'])) {


		$fichier = upload($_FILES['fichier']);


		} else {


		$fichier = $_POST['fichier'];


	 }


	 echo "Emplacement du fichier : ".$repertoire_upload.$fichier."<br />";



	 echo "<table border=0 cellspacing=1 cellpadding=0 width=100%>";


	 echo "<tr><td class=\"menu\" >Statut de l'importation</td></tr>";


	 echo "</table>";


		/* On ouvre le fichier en lecture seulement */   

		if ($fichier != "") {


			 if (file_exists($repertoire_upload.$fichier)) {


				 $fp = fopen($repertoire_upload.$fichier,  "r"); 


			 }else{  /* le fichier n'existe pas */ 


				 echo  "<div class=normal>Fichier introuvable !<br />Importation stopp&eacute;e.</div>"; 


				 exit(); 


			 } 


		/* Effacement des produits */


		$nbprod=0;


		#mysql_query("delete from peel_produits");


		#mysql_query("delete from peel_produits_categories");


		#mysql_query("delete from peel_sites_pivots WHERE produit_id > '0'");			


		$tva = $taux_tva1;


		 while (!feof($fp)) {  /* Tant qu'on atteind pas fin de fichier */   


			 $ligne = fgets($fp,4096);  /* On se d&eacute;place d'une ligne */


			 //echo "<hr><font class=normal>>Ligne Excel : $ligne </font>"; 


			 $liste = explode( ";",trim($ligne));  /* Champs s&eacute;par&eacute;s par; */   


			 /* On assigne les variables */

			if ($liste != "") {


			$i=0;


			$liste[$i]=str_replace('<', '<',$liste[$i]);

			  $liste[$i]=str_replace('>', '>',$liste[$i]);

			  $liste[$i]=str_replace('"', '"',$liste[$i]);

			$liste[$i]=str_replace('"', '',$liste[$i]);

			$liste[$i]=str_replace("'", "\'",$liste[$i]);


			// Identifiant de la catégorie de niveau 1

			$cat_id = vb($liste[$i]);


			$reference = htmlspecialchars(vb($liste[$i+1]), ENT_QUOTES);


			$nom = htmlspecialchars(vb($liste[$i+2]), ENT_QUOTES);


			$tva = str_replace(",",".",vb($liste[$i+6]));


			$prix_ht = str_replace(",",".",vb($liste[$i+3]));


			$prix = $prix_ht * (1 + $tva/100);


			$prix = str_replace(",",".",$prix);


			$prix_revendeur_ht = str_replace(",",".",vb($liste[$i+4]));


			$prix_revendeur = $prix_revendeur_ht * (1 + $tva/100);


			$prix_revendeur = str_replace(",",".",$prix_revendeur);


			$prix_achat_ht = str_replace(",",".",vb($liste[$i+5]));


			$prix_achat = $prix_achat_ht * (1 + $tva/100);


			$prix_achat = str_replace(",",".",$prix_achat);


			$promotion = str_replace(",",".",vb($liste[$i+7]));


			$poids = str_replace(",",".",vb($liste[$i+8]));


			$point = str_replace(",",".",vb($liste[$i+9]));


			$image1 = addslashes(vb($liste[$i+10]));


			$image2 = addslashes(vb($liste[$i+11]));


			$image3 = addslashes(vb($liste[$i+12]));


			$image4 = addslashes(vb($liste[$i+13]));


			$id_marque = intval(vb($liste[$i+14]));


			$descriptif = htmlspecialchars(vb($liste[$i+15]), ENT_QUOTES);


			$description = htmlspecialchars(vb($liste[$i+16]), ENT_QUOTES);


			$on_stock = intval(vn($liste[$i+17]));


			$etat = intval(vn($liste[$i+18]));


			$site_id = intval(vn($liste[$i+19]));		


			$nom_en = htmlspecialchars(vb($liste[$i+20]), ENT_QUOTES);	


			echo "valeur de nom : $nom<br />";


			if (!empty($nom)) {



			$requete = "INSERT INTO peel_produits (

			reference

			,  nom_fr

			,  nom_en

			,  prix

			,  prix_revendeur

			,  prix_achat		

			,  tva

			,  promotion

			,  poids

			,  points

			,  image1

			,  image2

			,  image3

			,  image4

			,  id_marque

			,  descriptif_".$_SESSION['langue']."

			,  description_".$_SESSION['langue']."

			, on_stock

			, etat

			, date_insere

			, date_maj

			) 

			VALUES (

			'".$reference."'

			, '".$nom."'

			, '".$nom_en."'

			, '".$prix."'

			, '".$prix_revendeur."'

			, '".$prix_achat."'

			, '".$tva."'

			, '".$promotion."'

			, '".$poids."'

			, '".$point."'

			, '".$image1."'

			, '".$image2."'

			, '".$image3."'

			, '".$image4."'

			, '".$id_marque."'

			, '".$descriptif."'

			, '".$description."'

			, '".$on_stock."'

			, '".$etat."'

			, now()

			, now()

			)";


			mysql_query($requete) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<br />' . MYSQL_ERROR()."<br />Valeur de la requete : $requete");


			$produit_id = mysql_insert_id();


			$nbprod ++;


			if ($cat_id != 0) {


				if (mysql_num_rows(mysql_query("SELECT 1 FROM peel_categories c INNER JOIN peel_sites_pivots sp ON (sp.categorie_id = c.id) WHERE c.id = '$cat_id' AND sp.site_id = '$site_id'")) > 0) {


				mysql_query("INSERT INTO peel_produits_categories (categorie_id, produit_id) VALUES ('$cat_id', '$produit_id')")  or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<br />' . MYSQL_ERROR());


				} else {


				echo "La catégorie de référence $cat_id n'existe pas pour le site précisé dans le fichier CSV<br />";


				}


			}


			mysql_query("INSERT INTO peel_sites_pivots (site_id, produit_id) VALUES ('1', '$produit_id')");


			if (mysql_error()){  /* Erreur base de donnees, surement la table qu'il faut creer */ 

				 echo  $requete; 

				 echo  "<br />Erreur dans la base de donn&eacute;es : ".mysql_error(); 

				 echo  "<br />Importation des produits stopp&eacute;e."; 

				 exit(); 

			 } 


		 } 


		}


	}


	echo  "<br /><div class=\"normal\">Nombre de produits import&eacute;s avec succ&egrave;s : $nbprod.</div>"; 


	fclose($fp); 

	}



	 break; 


	  /* FORMULAIRE DE CHOIX D'IMPORTATION */	 


	 default: 

	 ?>	 

		 <table border="0" cellspacing="1" cellpadding="0" width="100%"> 

			<tr ><td class="entete" colspan="3">IMPORTER UN FICHIER</td></tr>

			<tr><td colspan="3" class="normal">

			<b>Format imp&eacute;ratif du fichier </b>: CSV

			<br />

			<br />

			S&eacute;parateur : <font size="4"><b>;</b></font> point virgule<br />

			Fichier exemple : <a href="exemple_prod.csv">exemple_prod.csv</a><br /><br />

			<p>

			<font size="+1">ATTENTION : ce moteur d'importation ne comprend pas tous les champs de la base de données.<br />

			Toute modification de structure ou ajout de champ fait l'objet d'un devis sur mesure.</font></p>


			<font size="+1"><b>Ordre imp&eacute;ratif des colonnes du fichier CSV</b></font> :<br />

			- R&eacute;f&eacute;rence cat&eacute;gorie (mettre 0 si elle n'existe pas). La référence se trouve dans la <a href="categories.php">liste des catégories</a> - colonne Rèf.<br />

			- R&eacute;f&eacute;rence du produit<br />

			- Nom en langue française<br />

			- Prix vente public HT<br />

			- Prix vente revendeur HT<br />

			- Prix achat HT<br />

			- Tva<br />

			- Promotion<br />

			- Poids (en grammes)<br />

			- Points cadeaux<br />

			- Image vignette = Image 1<br />

			- Image zoom = Image 2<br />

			- Image 3<br />

			- Image 4<br />

			- Référence de la Marque. La référence se trouve dans la <a href="marques.php">liste des marques</a> - colonne Rèf.<br />

			- Descriptif du produit FR<br />

			- Description du produit FR<br />

			- Gestion du stock (1 = oui, O = non)<br />

			- Etat (1 = en ligne, O = en attente)<br />

			- Identifiant de la boutique (1 par défault). L'identifiant se trouve dans la <a href="sites.php">liste des sites</a> - colonne Identifiant.<br />

		   <br />

			<b>Attention :</b><br />

			- La premi&egrave;re ligne ne doit pas contenir les ent&ecirc;tes des colonnes<br />

			- Il ne doit pas y avoir de formule dans le fichier CSV<br />

			- Les virgules des chiffres doivent &ecirc;tre symbolis&eacute;es par des "."<br />

			- Le point virgule indique imp&eacute;rativement un changement de colonne<br />

			- Le fichier doit &ecirc;tre ferm&eacute; dans EXCEL pour pouvoir l'uploader<br />

			- Les photos doivent se trouver dans le répertoire <?php echo $repertoire_upload ?><br />


			<p>

			<b>Avant d'importer un fichier,<br />

			1. Assurez vous que le fichier ne comporte pas de lignes blanches.<br />

			2. Assurez vous que vous avez pr&eacute;alablement import&eacute; ou cr&eacute; les familles de produit</b>

			</p>

			</td></tr>


			<form method="post" action="<?=$_SERVER['PHP_SELF']?>" name="categories" enctype="multipart/form-data"> 

			<input type="hidden" name="action" value="ajouter">   

			<input type="hidden" name="nomtable" value="peel_produits">	 


			<tr> 

			  <td class="label">Importation du fichier de donn&eacute;es :</td> 

			  <td align="left"> <input class="formulaire1" type="file" name="fichier"> </td> 

			  <td align="center"> <input class="formulaire1" type="submit" name="submit" value="Importer"> </td>

			  </tr> 

		 </table> 

		 <input type="hidden" name="action" value="ajouter">	 

		</form> 

	  <?	 

	 break; 


	 } 

include("modeles/bas.php");

?>

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Ou doit-on intégrer ce code pour ne pas effacer les produits créer par l'interface admin en important un fichier csv, SVP

Merci d'avance

T.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonsoir ToMaS,

Dans administrer/import_produits.php

Supprimez, ou commentez les lignes :

mysql_query("DELETE FROM peel_produits");

mysql_query("DELETE FROM peel_produits_categories");

mysql_query("DELETE FROM peel_sites_pivots WHERE produit_id > '0'");

Cordialement,

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Merci, je m'y met demain soir...

Je vous tiendrai au courant

A bientôt

T.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Pas de quoi ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping