Insérer plusieurs produits d'un coup? [PEEL PREMIUM]

26 messages dans ce sujet

Posté(e) · Signaler ce message

tu parles de "administrer/import_produits.php" ?

sinon y'a ça marqué apres le dernier import tenté:

Type de fichier importé : text/plain

Emplacement du fichier : /home.10.12/monokrom/www/shop/upload/061007_122756_PEEL_eyS7NY.csv

Statut de l'importation

valeur de nom : Araignée 1

Notice: Undefined offset: 3 in /home.10.12/monokrom/www/shop/administrer/import_produits.php on line 93

valeur de nom :

Nombre de produits importés avec succès : 1.

contenu de import produits:

<?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 */

mysql_query("DELETE FROM ".$_POST['nomtable']." WHERE lang = '".$_SESSION['langue']."'");

/* Passe l'autoincr&eacute;ment &agrave; 1 */

mysql_query("ALTER TABLE ".$_POST['nomtable']." AUTO_INCREMENT = 1");

/* Effacement des jointures */

mysql_query("DELETE FROM peel_produits_categories WHERE lang = '".$_SESSION['langue']."'");

$nbprod=0;

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 = addslashes(vb($liste[$i+1]));

$nom = addslashes(vb($liste[$i+2]));

$prix = $liste[$i+3] * (1 + vb($liste[$i+4])/100);

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

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

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

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

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

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

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

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

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

$etat = intval(vb($liste[$i+12]));

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

if (!empty($nom)) {

$requete = "INSERT INTO ".$_POST['nomtable']." (

reference

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

, prix

, tva

, promotion

, poids

, points

, image1

, image2

, marque

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

, etat

, date_insere

, date_maj

)

VALUES (

'".$reference."'

, '".$nom."'

, '".$prix."'

, '".$tva."'

, '".$promotion."'

, '".$poids."'

, '".$point."'

, '".$marque."'

, '".$image1."'

, '".$image2."'

, '".$descriptif."'

, '".$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 = $nbprod + 1;

if (!empty($cat_id)) {

$sqlCat = "INSERT INTO peel_produits_categories (produit_id, categorie_id) VALUES ('$produit_id', '$cat_id')";

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

}

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="760">

<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 />

<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)<br />

- R&eacute;f&eacute;rence Article<br />

- Nom FR<br />

- Prix Vente HT<br />

- TVA<br />

- Promotion<br />

- poids<br />

- Points cadeaux<br />

- Marque<br />

- Image vignette<br />

- Image zoom<br />

- Descriptif du produit FR<br />

- Etat (1 = en ligne, O = en attente)<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

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