Jump to content
WebFrance
  • Rejoignez WebFrance

    Inscrivez vous aujourd'hui et recevez le Guide gratuit du e-Business

     

comment injecter le fichier csv vers une base de donnée


plaisirlingerie
 Share

Recommended Posts

>> Nouveau : Découvrez la marketplace d'Achat / Vente de Sites !

tu as de la chance, je suis dessus depuis ce weekend

pour commencer, rappatrier le fichier csv:

<?php


function download($file_source, $file_target) {

       $rh = fopen($file_source, 'rb');

       $wh = fopen($file_target, 'wb');

       if ($rh===false || $wh===false) {

// error reading or opening file

           return true;

       }

       while (!feof($rh)) {

           if (fwrite($wh, fread($rh, 1024)) === FALSE) {

                    'Download error: Cannot write to file ('.$file_target.')';

                   return true;

               }

       }

       fclose($rh);

       fclose($wh);

       // No error

       return false;

   }


download('http://afflog.dreamstore.ch/prod_csv.asp?logid=&cur=EUR&shop=1&current_affid=28071','/www/exemple/feeds/la-boutique-erotique_lingerie_sexy.txt');

download('http://afflog.dreamstore.ch/prod_csv.asp?logid=&cur=EUR&shop=2&current_affid=28071','/www/exemple/feeds/la-boutique-erotique_bien_etre_fun.txt');

download('http://afflog.dreamstore.ch/prod_csv.asp?logid=&cur=EUR&shop=3&current_affid=28071','/www/exemple/feeds/la-boutique-erotique_jouets_intimes.txt');

download('http://afflog.dreamstore.ch/prod_csv.asp?logid=&cur=EUR&shop=4&current_affid=28071','/www/exemple/feeds/la-boutique-erotique_dvds_adultes.txt');

download('http://afflog.dreamstore.ch/prod_csv.asp?logid=&cur=EUR&shop=5&current_affid=28071','/www/exemple/feeds/la-boutique-erotique_idees_cadeaux.txt');

?>

Edited by Trismegiste
Link to comment
Share on other sites
Partagez cette page :

ou sinon que tu peux enregistrer dans un fichier install.php

<?php

//données pour la connexion à la base de données

$db_server = "sql.free.fr"; //adresse du serveur MySQL

$db_name = "xxxxx"; //nom de la base de données

$db_user_login = "xxxxx"; //nom d'utilisateur pour la BD

$db_user_pass = "xxxxx"; //mot de passe pour la BD


function connection_BD()

{

     global $db_server, $db_user_login, $db_user_pass, $db_name;

     //connexion au serveur

     $linkid = @mysql_connect($db_server,$db_user_login,$db_user_pass) or die ("Erreur lors de la connection au serveur MySQL !");

     //selection de la BD

     @mysql_select_db($db_name,$linkid) or die("Impossible de sélectionner la base de données\n<br>\nVoici l'erreur renvoyée par le serveur MySQL :\n<br>\n".mysql_error());

     return $linkid;

}


?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html dir="ltr" lang="<? echo $lang; ?>" xmlns="http://www.w3.org/1999/xhtml" >

<head>

<title>CSV :: Installation & Mise A Jour</title>

</head>

<body>

<?


//connexion a la BD

$lk = connection_BD();


$sql_lingerie_sexy = "

CREATE TABLE IF NOT EXISTS `csv_ds_lingerie_sexy` (

  `id` char(16) character set latin1 collate latin1_general_ci NOT NULL,

  `ref` char(16) character set latin1 collate latin1_general_ci default NULL,

  `pname` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `price` decimal(9,2) default NULL,

  `options` char(16) character set latin1 collate latin1_general_ci default NULL,

  `brand` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `shortdesc` text character set latin1 collate latin1_general_ci,

  `desc` text character set latin1 collate latin1_general_ci,

  `proplist` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_1` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_2` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_3` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `img_min` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `img_big` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `url` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `oprice` decimal(9,2) default NULL,

  `isnew` tinyint(1) default NULL,

  `isbest` tinyint(1) default NULL,

  `options_ref` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `shipf` decimal(9,2) default NULL,

  `dispo` varchar(16) character set latin1 collate latin1_general_ci default NULL,

  `teaser` text character set latin1 collate latin1_general_ci,

  PRIMARY KEY  (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1; ";


$sql_bien_etre_fun = "

CREATE TABLE IF NOT EXISTS `csv_ds_bien_etre_fun` (

  `id` char(16) character set latin1 collate latin1_general_ci NOT NULL,

  `ref` char(16) character set latin1 collate latin1_general_ci default NULL,

  `pname` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `price` decimal(9,2) default NULL,

  `options` char(16) character set latin1 collate latin1_general_ci default NULL,

  `brand` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `shortdesc` text character set latin1 collate latin1_general_ci,

  `desc` text character set latin1 collate latin1_general_ci,

  `proplist` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_1` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_2` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_3` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `img_min` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `img_big` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `url` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `oprice` decimal(9,2) default NULL,

  `isnew` tinyint(1) default NULL,

  `isbest` tinyint(1) default NULL,

  `options_ref` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `shipf` decimal(9,2) default NULL,

  `dispo` varchar(16) character set latin1 collate latin1_general_ci default NULL,

  `teaser` text character set latin1 collate latin1_general_ci,

  PRIMARY KEY  (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1; ";


$sql_jouets_intimes = "

CREATE TABLE IF NOT EXISTS `csv_ds_jouets_intimes` (

  `id` char(16) character set latin1 collate latin1_general_ci NOT NULL,

  `ref` char(16) character set latin1 collate latin1_general_ci default NULL,

  `pname` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `price` decimal(9,2) default NULL,

  `options` char(16) character set latin1 collate latin1_general_ci default NULL,

  `brand` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `shortdesc` text character set latin1 collate latin1_general_ci,

  `desc` text character set latin1 collate latin1_general_ci,

  `proplist` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_1` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_2` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_3` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `img_min` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `img_big` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `url` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `oprice` decimal(9,2) default NULL,

  `isnew` tinyint(1) default NULL,

  `isbest` tinyint(1) default NULL,

  `options_ref` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `shipf` decimal(9,2) default NULL,

  `dispo` varchar(16) character set latin1 collate latin1_general_ci default NULL,

  `teaser` text character set latin1 collate latin1_general_ci,

  PRIMARY KEY  (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1; ";


$sql_dvds_adultes = "

CREATE TABLE IF NOT EXISTS `csv_ds_dvds_adultes` (

  `id` char(16) character set latin1 collate latin1_general_ci NOT NULL,

  `ref` char(16) character set latin1 collate latin1_general_ci default NULL,

  `pname` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `price` decimal(9,2) default NULL,

  `options` char(16) character set latin1 collate latin1_general_ci default NULL,

  `brand` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `shortdesc` text character set latin1 collate latin1_general_ci,

  `desc` text character set latin1 collate latin1_general_ci,

  `proplist` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_1` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_2` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_3` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `img_min` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `img_big` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `url` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `oprice` decimal(9,2) default NULL,

  `isnew` tinyint(1) default NULL,

  `isbest` tinyint(1) default NULL,

  `options_ref` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `shipf` decimal(9,2) default NULL,

  `dispo` varchar(16) character set latin1 collate latin1_general_ci default NULL,

  `teaser` text character set latin1 collate latin1_general_ci,

  PRIMARY KEY  (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1; ";


$sql_idees_cadeaux = "

CREATE TABLE IF NOT EXISTS `csv_ds_idees_cadeaux` (

  `id` char(16) character set latin1 collate latin1_general_ci NOT NULL,

  `ref` char(16) character set latin1 collate latin1_general_ci default NULL,

  `pname` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `price` decimal(9,2) default NULL,

  `options` char(16) character set latin1 collate latin1_general_ci default NULL,

  `brand` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `shortdesc` text character set latin1 collate latin1_general_ci,

  `desc` text character set latin1 collate latin1_general_ci,

  `proplist` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_1` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_2` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `cat_3` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `img_min` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `img_big` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `url` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `oprice` decimal(9,2) default NULL,

  `isnew` tinyint(1) default NULL,

  `isbest` tinyint(1) default NULL,

  `options_ref` varchar(255) character set latin1 collate latin1_general_ci default NULL,

  `shipf` decimal(9,2) default NULL,

  `dispo` varchar(16) character set latin1 collate latin1_general_ci default NULL,

  `teaser` text character set latin1 collate latin1_general_ci,

  PRIMARY KEY  (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1; ";


     //envoi des requetes

     mysql_query($sql_lingerie_sexy);

          echo "<font color=\"#009900\">La table Lingerie Sexy a été correctement créée</font>\n<br>";

     mysql_query($sql_bien_etre_fun);

          echo "<font color=\"#009900\">La table Bien etre & fun a été correctement créée</font>\n<br>";

     mysql_query($sql_jouets_intimes);

          echo "<font color=\"#009900\">La table Jouets intimes a été correctement créée</font>\n<br>";

     mysql_query($sql_dvds_adultes);

          echo "<font color=\"#009900\">La table Dvds adultes a été correctement créée</font>\n<br>";

     mysql_query($sql_idees_cadeaux);

          echo "<font color=\"#009900\">La table Idees cadeaux a été correctement créée</font>\n<br>";


$requete = 'TRUNCATE TABLE csv_ds_lingerie_sexy';

mysql_query($requete);

$row = 1;

$handle = fopen("http://afflog.dreamstore.ch/prod_csv.asp?logid=&cur=EUR&shop=1&current_affid=28071", "r");

while (($data = fgetcsv($handle, 5000, "|")) !== FALSE) {

$num = count($data);

$row++;

$query = "INSERT INTO csv_ds_lingerie_sexy VALUES ('" . addslashes($data[0]) ."','". addslashes($data[1]) ."','". addslashes($data[2]) ."','". addslashes($data[3]) ."','". addslashes($data[4]) ."','". addslashes($data[5]) ."','". addslashes($data[6]) ."','". addslashes($data[7]) ."','". addslashes($data[8]) ."','". addslashes($data[9]) ."','". addslashes($data[10]) ."','". addslashes($data[11]) ."','". addslashes($data[12]) ."','". addslashes($data[13]) ."','". addslashes($data[14]) ."','". addslashes($data[15]) ."','". addslashes($data[16]) ."','". addslashes($data[17]) ."','". addslashes($data[18]) ."','". addslashes($data[19]) ."','". addslashes($data[20]) ."','". addslashes($data[21]) ."');";

mysql_query($query);

}

fclose($handle);

echo "<font color=\"#009900\">La table Lingerie sexy a été correctement mise à jour</font>\n<br>";


$requete = 'TRUNCATE TABLE csv_ds_bien_etre_fun';

mysql_query($requete);

$row = 1;

$handle = fopen("http://afflog.dreamstore.ch/prod_csv.asp?logid=&cur=EUR&shop=2&current_affid=28071", "r");

while (($data = fgetcsv($handle, 5000, "|")) !== FALSE) {

$num = count($data);

$row++;

$query = "INSERT INTO csv_ds_bien_etre_fun VALUES ('" . addslashes($data[0]) ."','". addslashes($data[1]) ."','". addslashes($data[2]) ."','". addslashes($data[3]) ."','". addslashes($data[4]) ."','". addslashes($data[5]) ."','". addslashes($data[6]) ."','". addslashes($data[7]) ."','". addslashes($data[8]) ."','". addslashes($data[9]) ."','". addslashes($data[10]) ."','". addslashes($data[11]) ."','". addslashes($data[12]) ."','". addslashes($data[13]) ."','". addslashes($data[14]) ."','". addslashes($data[15]) ."','". addslashes($data[16]) ."','". addslashes($data[17]) ."','". addslashes($data[18]) ."','". addslashes($data[19]) ."','". addslashes($data[20]) ."','". addslashes($data[21]) ."');";

mysql_query($query);

}

fclose($handle);

echo "<font color=\"#009900\">La table Bien être & fun a été correctement mise à jour</font>\n<br>";


$requete = 'TRUNCATE TABLE csv_ds_jouets_intimes';

mysql_query($requete);

$row = 1;

$handle = fopen("http://afflog.dreamstore.ch/prod_csv.asp?logid=&cur=EUR&shop=3&current_affid=28071", "r");

while (($data = fgetcsv($handle, 5000, "|")) !== FALSE) {

$num = count($data);

$row++;

$query = "INSERT INTO csv_ds_jouets_intimes VALUES ('" . addslashes($data[0]) ."','". addslashes($data[1]) ."','". addslashes($data[2]) ."','". addslashes($data[3]) ."','". addslashes($data[4]) ."','". addslashes($data[5]) ."','". addslashes($data[6]) ."','". addslashes($data[7]) ."','". addslashes($data[8]) ."','". addslashes($data[9]) ."','". addslashes($data[10]) ."','". addslashes($data[11]) ."','". addslashes($data[12]) ."','". addslashes($data[13]) ."','". addslashes($data[14]) ."','". addslashes($data[15]) ."','". addslashes($data[16]) ."','". addslashes($data[17]) ."','". addslashes($data[18]) ."','". addslashes($data[19]) ."','". addslashes($data[20]) ."','". addslashes($data[21]) ."');";

mysql_query($query);

}

fclose($handle);

echo "<font color=\"#009900\">La table Jouet intimes a été correctement mise à jour</font>\n<br>";


$requete = 'TRUNCATE TABLE csv_ds_dvds_adultes';

mysql_query($requete);

$row = 1;

$handle = fopen("http://afflog.dreamstore.ch/prod_csv.asp?logid=&cur=EUR&shop=4&current_affid=28071", "r");

while (($data = fgetcsv($handle, 5000, "|")) !== FALSE) {

$num = count($data);

$row++;

$query = "INSERT INTO csv_ds_dvds_adultes VALUES ('" . addslashes($data[0]) ."','". addslashes($data[1]) ."','". addslashes($data[2]) ."','". addslashes($data[3]) ."','". addslashes($data[4]) ."','". addslashes($data[5]) ."','". addslashes($data[6]) ."','". addslashes($data[7]) ."','". addslashes($data[8]) ."','". addslashes($data[9]) ."','". addslashes($data[10]) ."','". addslashes($data[11]) ."','". addslashes($data[12]) ."','". addslashes($data[13]) ."','". addslashes($data[14]) ."','". addslashes($data[15]) ."','". addslashes($data[16]) ."','". addslashes($data[17]) ."','". addslashes($data[18]) ."','". addslashes($data[19]) ."','". addslashes($data[20]) ."','". addslashes($data[21]) ."');";

mysql_query($query);

}

fclose($handle);

echo "<font color=\"#009900\">La table Dvd's adultes a été correctement mise à jour</font>\n<br>";


$requete = 'TRUNCATE TABLE csv_ds_idees_cadeaux';

mysql_query($requete);

$row = 1;

$handle = fopen("http://afflog.dreamstore.ch/prod_csv.asp?logid=&cur=EUR&shop=5&current_affid=28071", "r");

while (($data = fgetcsv($handle, 5000, "|")) !== FALSE) {

$num = count($data);

$row++;

$query = "INSERT INTO csv_ds_idees_cadeaux VALUES ('" . addslashes($data[0]) ."','". addslashes($data[1]) ."','". addslashes($data[2]) ."','". addslashes($data[3]) ."','". addslashes($data[4]) ."','". addslashes($data[5]) ."','". addslashes($data[6]) ."','". addslashes($data[7]) ."','". addslashes($data[8]) ."','". addslashes($data[9]) ."','". addslashes($data[10]) ."','". addslashes($data[11]) ."','". addslashes($data[12]) ."','". addslashes($data[13]) ."','". addslashes($data[14]) ."','". addslashes($data[15]) ."','". addslashes($data[16]) ."','". addslashes($data[17]) ."','". addslashes($data[18]) ."','". addslashes($data[19]) ."','". addslashes($data[20]) ."','". addslashes($data[21]) ."');";

mysql_query($query);

}

fclose($handle);

echo "<font color=\"#009900\">La table Idees cadeaux a été correctement mise à jour</font>\n<br>";


//fin de la connexion

mysql_close($lk);


     ?>

     <br><br>

     L'installation & la  mise à jour sont maintenant terminée !<br>

</body>

</html>

Edited by Trismegiste
Link to comment
Share on other sites
Partagez cette page :

merci beaucoup pour le fichier php qui permet l'inportation des csv vers une base sql

Je viens de le tester jai bien indiquer le serveur la base de donnée l'utilisateur de la base et de donnée et le mot de passe il m'indique bien lorsque je le lance

La table Lingerie Sexy a été correctement créée\n

"; mysql_query($sql_bien_etre_fun); echo "La table Bien etre & fun a été correctement créée\n

"; mysql_query($sql_jouets_intimes); echo "La table Jouets intimes a été correctement créée\n

"; mysql_query($sql_dvds_adultes); echo "La table Dvds adultes a été correctement créée\n

"; mysql_query($sql_idees_cadeaux); echo "La table Idees cadeaux a été correctement créée\n

Mais apres avoir verifier sur la base de donnée j'ai rien d'ajouter et si je change les parametre comme un mauvais nom du serveur il me verifie pas et me dit encore des message d'execution ok

jvai voir la page pour voir pourquoi il n'injecte pas les entrées dans la base de donnée

merci encore ;)

Link to comment
Share on other sites
Partagez cette page :

J'ai enfin pus insérer mon csv dans ma base mais manuellement pour l'instant. par contre, je me rend compte que la tache pour une boutique 100% personnalisé est très lourde. requete sql, php, ...

Vivement que DS créé des tuto pour tout ça et même pourquoi pas des scripts déjà pret

Link to comment
Share on other sites
Partagez cette page :

Pour te faciliter la tache, tu peux utiliser des frameworks PHP comme CakePhp.

Tu gagneras déjà pas mal de temps sur les requêtes, la pagination, tout ça.

Par contre, la mise en page et les styles te demanderont plusieurs heures de boulot, c'est évident.

Le seul intérêt de travailler avec les CSV, c'est pour intégrer la boutique dans un site qui propose déjà un contenu rédactionnel (blog, CMS...)

Link to comment
Share on other sites
Partagez cette page :

J'ai commencé avec cakephp mais ça bloque à l'install. Il ne peut pas accéder à la base de données (login incorrect pourtant j'ai tout vérifié)

Ma config de serveur c'est Windows XP est EasyPHP (Apache, My Sql et PHP5)

Et je me rend compte de plus en plus que c'est une tonne de travail pour réalisé mon projet de boutique totalement en csv

Link to comment
Share on other sites
Partagez cette page :

Pour CakePhp et EasyPhp, désolé je ne peux pas t'aider, je développe tout sous Linux (avec ma propre install d'Apache, MySql et PHP).

Par contre, c'est sûr que le dev de ma boutique m'a facilement demandé 20 heures de travail, etcomme toujours, c'est toujours sur les détails, le fignolage qu'on perd le plus de temps.

Le problème, c'est pas tant le temps que ça demande qui me gêne, si derrière ça marche et que les commandes affluent.

C'est surtout que DS me semblent manquer de rigueur dans leurs développements : le caddie externe est en vrac depuis plusieurs jours, et j'ai du coup un peu l'impression d'avoir développé tout ça pour rien :mad

Link to comment
Share on other sites
Partagez cette page :

  • 4 weeks later...

Il n'est pas possible, avec aucun langage, de supprimer avec une simple commande du texte dans un fichier.

Le plus simple c'est de faire un traitement à l'affichage sur ta page. Tu feras ça en utilisant les méthodes substr et strpos (ou stripos si tu ne veux pas prendre en compte la casse).

Link to comment
Share on other sites
Partagez cette page :

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share



© WebFrance - Contact - Annonceurs - Conditions générales - Legal

×
×
  • Create New...