#1 02-03-2008 13:53:49

plaisirlingerie
Membre
Inscrit le : 17-01-2008
Messages : 37
 comment injecter le fichier csv vers une base de donnée


salut a tous,

Je me suis dit pourquoi pas utiliser un script qui insere le fichier csv vers une base de donnée mais il en existe pas quoi j'en ai testé plusieurs mais plusieurs bugs :-(

Si une personne utilise un script qui marche merci beaucoup



Hors ligne

 

#2 02-03-2008 14:28:07

Trismegiste
Membre indispensable
Lieu : France
Inscrit le : 06-01-2008
Messages : 413
http://www.sexy-suzy.fr
  Re: comment injecter le fichier csv vers une base de donnée


tu as de la chance, je suis dessus depuis ce weekend
pour commencer, rappatrier le fichier csv:

Code:
<?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');
?>


Hors ligne

 

#3 02-03-2008 14:38:02

Trismegiste
Membre indispensable
Lieu : France
Inscrit le : 06-01-2008
Messages : 413
http://www.sexy-suzy.fr
  Re: comment injecter le fichier csv vers une base de donnée


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

Code:
<?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>


Hors ligne

 

#4 02-03-2008 15:02:44

plaisirlingerie
Membre
Inscrit le : 17-01-2008
Messages : 37
  Re: comment injecter le fichier csv vers une base de donnée


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 wink affiliation



Hors ligne

 

#5 02-03-2008 15:09:47

Trismegiste
Membre indispensable
Lieu : France
Inscrit le : 06-01-2008
Messages : 413
http://www.sexy-suzy.fr
  Re: comment injecter le fichier csv vers une base de donnée


il y a peut etre des erreurs mais je sais que ça a marché sur mon site de test wink affiliation



Hors ligne

 

#6 02-03-2008 15:11:26

plaisirlingerie
Membre
Inscrit le : 17-01-2008
Messages : 37
  Re: comment injecter le fichier csv vers une base de donnée


ha bon jvai essayer de voir pourquoi  moi il ne se connecte pas a la base de donnée merci encore une fois wink affiliation



Hors ligne

 

#7 02-03-2008 15:13:36

KaRaK
Membre +
Inscrit le : 26-11-2006
Messages : 118
  Re: comment injecter le fichier csv vers une base de donnée


Hello,

Via phpmyadmin, tu peux également importer des csv très facilement.



Hors ligne

 

#8 02-03-2008 15:25:16

plaisirlingerie
Membre
Inscrit le : 17-01-2008
Messages : 37
  Re: comment injecter le fichier csv vers une base de donnée


oui mais je veus automatiser l'importation des csv car il sont modifié souvent donc via phpmyadmin c'est pas top non ?



Hors ligne

 

#9 02-03-2008 15:27:20

Trismegiste
Membre indispensable
Lieu : France
Inscrit le : 06-01-2008
Messages : 413
http://www.sexy-suzy.fr
  Re: comment injecter le fichier csv vers une base de donnée


J'ai réédité

en fait j'avais pas copié le bon code, celui ci devrai fonctionné j'ai retesté wink affiliation

@+



Hors ligne

 

#10 02-03-2008 15:54:24

plaisirlingerie
Membre
Inscrit le : 17-01-2008
Messages : 37
  Re: comment injecter le fichier csv vers une base de donnée


salut

je vous ai envoyé un message en pv

Si vous pouvez faire un petit copier coller ca sera chouette smile affiliation

merci encore une fois


++



Hors ligne

 

Pied de page des forums

Propulsé par Anderson
Modifications & Add ons par Charlie
Magic rewrite by Rottman


Menu rapide

  Marque blanche
  Dreamstore
  Easyflirt

  Plateforme
  Publicidées
  Effiliation
  Affilinet
  CJ
  Zanox
  Tradedoubler
  Netaffiliation


Inscrivez vous au Forum et rejoignez le Forum privé réservé aux membres !