Jump to content

Upload de données dans Prestashop


Recommended Posts

Bonjour tout le monde voila je suis un jeune développeur et je suis en stage en ce moment on m'a demandé de travailler sur l'application web Prestashop, j'ai compris comment marche l'interface, le fonctionnement de la plate-forme seulement l'organisation de la base de données associée à la plate_forme m'échappe complètement je n'arrive pas à me repérer, malheureusement mon sujet porte sur ça. Le sujet est très basique je dois récupérer des données d'un fichier CSV, le lire et faire en sorte de les insérer dans la base de données liée à la plate-forme. Mon fichier CSV porte sur des produits avec différentes catégories. J'ai déjà commencé à créer une application qui permet de récupérer un fichier CSV simple avec juste quelques lignes et l’insère dans une base de données tout fonctionne parfaitement. Seulement la base de données de Prestashop est largement plus complexe que celle que j'ai. J'ai surement des relations du n-n, je voudrais savoir comment dans mon script de traitement je peux dire d'une part tu insères une nouvelle catégorie et d'autre part tu insères le produit qui correspond à la catégorie.

 

Voici mon script de traitement sur le fichier CSV :

 

<?php

$bdd="teststage";
$host="localhost";
$user="root";
$pass="";

@mysql_connect($host, $user, $pass) or die ("Impossible de se connecter à la base de données");
@mysql_select_db($bdd);

$fichier = "./fichier.csv";

$fichier = $_FILES['userfile']['tmp_name'];
if (file_exists($fichier)) {
 $fp = fopen($fichier, "r");
}

else {
 echo "Fichier introuvable !<br />Importation stoppée.";
 exit();
}

$cpt = 0;

while (!feof($fp)) {
 $ligne = fgets($fp,4096);
 $liste = explode( ",",$ligne);

 $liste[0] = ( isset($liste[0]) ) ? $liste[0] : Null;
 $liste[1] = ( isset($liste[1]) ) ? $liste[1] : Null;
 $liste[2] = ( isset($liste[2]) ) ? $liste[2] : Null;

 $champs1=$liste[0];
 $champs2=$liste[1];
 $champs3=$liste[2];

 if($champs1!=""){
  $cpt++;
  mysql_query("insert into acteurs values('$champs1', '$champs2', '$champs3')");
 }
}
echo "Les données ont été enregistrées";
fclose($fp);
?>

 

Pour l'instant je ne n'utilise pas la base bonne base de données j'en ai crée une autre afin de réaliser des tests pou mon programme. La base de données de Prestashop est celle qui se met en place lors de l'installation de la plate-forme. J'ai mis en pièce jointe le fichier sur lequel je travaille (c'est un fichier bidon bien sur). Toutes vos remarques et conseils sont bienvenus elle m'aideront grandement. icon_redface.gif Si quelqu'un est très doué avec la plate-forme Prestashop peut t'il me guider s'il vous plait ce serait très gentil =)FichierTest.txt

Link to comment
Share on other sites

Tu es en stage et tu dois travailler sur la base de données de prestashop, et bien ouvres PhpMyAdmin et regardes la bases comment elle est faite...

Personne ne peut le faire à ta place...

 

Si tu travailles sur les catégories et produits, tu verras bien qu'il y a des places category et product. Les produits sont joints aux catégories notamment par l'id_category_default au moins pour la catégorie par défaut.

 

la base de données associée à la plate_forme m'échappe complètement je n'arrive pas à me repérer

 

Je travaille en prestation depuis 10 jours dans une société avec une base données de 800 tables. Les collègues sont là pour te guider, mais il y a un moment où c'est à toi d'aller chercher les choses...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...