par
yoann38 » 25 mars 2017, 18:12
Ok effectivement c'est peut etre mieux comme ça, ceci dit le champ entrée en bdd pour chaque valeur est le parametre passé.
J'entends par cela que en gros en bdd :
Au lieu d'avoir en
titre : le beau jardin j'ai :titre.
Et ce pour chaque parametre....
<?php
include("include/conndb.php");
include("include/variables.php");
$fichier = 'datafeed_325105.csv';
$csv = new SplFileObject($fichier);
$csv->setFlags(SplFileObject::READ_CSV);
$csv->setCsvControl(',');
// Parcourt du fichier CSV + stockage variables
foreach($csv as $ligne){
// Attribution de la valeur pour Ticketmaster
$id_simply_user = '1000';
$tracker = $ligne[0]; // Tracker
$titre = $ligne[1]; // Nom de l'évènement
$number= str_replace(' ', '',$ligne[3]); // Id de l'évènement
$price = $ligne[30]; // Prix
$photo = $ligne[4]; // Miniature de l'image de l'annonce
$description = $ligne[5]; // Texte de l'annonce
$nom_categorie = $ligne[10]; // Exemple : Tennis
$mise_a_jour = $ligne[18];
$artiste_1 = $ligne[22];
$date_debut_sortie = $ligne[23];
$horaire = substr($date_debut_sortie, 10);
$manufacturer = $ligne[25];
$street = $ligne[26];
$catégorie = $ligne[28];
$longitude = $ligne[32];
$latitude = $ligne[33];
$city = $ligne[35];
$postcode = $ligne[36];
$departement = substr($postcode, 0, 2); // Exemple : 38
$pays = $ligne[37];
// On valide la sortie par default
$valide = '1';
// Région
$region = regionIdByDepartement($departement);
$date_debut_sortie = substr($date_debut_sortie, 0,-10); // retourne "abcde"
// Si il n y a pas de date de fin de renseignée on attribut la date de début
if(empty($ligne[39])) {
$date_fin_sortie = $date_debut_sortie;
}else{
$ligne[39];
}
// Requete pour calculer le nombre d'annonces en cours de validité
$sql = "SELECT id_loisirs FROM loisirs WHERE number = '".$number."'";
$req = $bdd->query($sql);
$nbResult = $req->rowCount();
//Entrée déjà existante
if ($nbResult > 0) {
echo '"' . $number. '" existe déjà en ' . $nbResult . ' exemplaire(s)';
} else { // libre
// Insertion
$req = $bdd->prepare("INSERT INTO `loisirs` (id_simply_user,titre,price,photo,tracker,id_region,id_departements,postcode,longitude,latitude,city,manufacturer,street,horaire,description,number,date_debut_sortie,valide) VALUES (':id_simply_user',':titre',':price',':photo',':tracker',':region',':departement',':postcode',':longitude',':latitude',':city',':manufacturer',':street',':horaire',':description',':number',':date_debut_sortie',':valide')");
$req->execute(array(
':id_simply_user'=>$id_simply_user,
':titre'=>$titre,
':price'=>$price,
':photo'=>$photo,
':tracker'=>$tracker,
':id_region'=>$region,
':postcode'=>$postcode,
':longitude'=>$longitude,
':latitude'=>$latitude,
':city'=>$city,
':manufacturer'=>$manufacturer,
':street'=>$street,
':horaire'=>$horaire,
':id_departements'=>$departement,
':description'=>$description,
':number'=>$number,
':date_debut_sortie'=>$date_debut_sortie,
':valide'=>$valide
)) or die('Problème lors de l\'insertion');
}
}
?>
Ok effectivement c'est peut etre mieux comme ça, ceci dit le champ entrée en bdd pour chaque valeur est le parametre passé.
J'entends par cela que en gros en bdd :
Au lieu d'avoir en [b] titre[/b] : le beau jardin j'ai :titre.
Et ce pour chaque parametre....
[PHP]
<?php
include("include/conndb.php");
include("include/variables.php");
$fichier = 'datafeed_325105.csv';
$csv = new SplFileObject($fichier);
$csv->setFlags(SplFileObject::READ_CSV);
$csv->setCsvControl(',');
// Parcourt du fichier CSV + stockage variables
foreach($csv as $ligne){
// Attribution de la valeur pour Ticketmaster
$id_simply_user = '1000';
$tracker = $ligne[0]; // Tracker
$titre = $ligne[1]; // Nom de l'évènement
$number= str_replace(' ', '',$ligne[3]); // Id de l'évènement
$price = $ligne[30]; // Prix
$photo = $ligne[4]; // Miniature de l'image de l'annonce
$description = $ligne[5]; // Texte de l'annonce
$nom_categorie = $ligne[10]; // Exemple : Tennis
$mise_a_jour = $ligne[18];
$artiste_1 = $ligne[22];
$date_debut_sortie = $ligne[23];
$horaire = substr($date_debut_sortie, 10);
$manufacturer = $ligne[25];
$street = $ligne[26];
$catégorie = $ligne[28];
$longitude = $ligne[32];
$latitude = $ligne[33];
$city = $ligne[35];
$postcode = $ligne[36];
$departement = substr($postcode, 0, 2); // Exemple : 38
$pays = $ligne[37];
// On valide la sortie par default
$valide = '1';
// Région
$region = regionIdByDepartement($departement);
$date_debut_sortie = substr($date_debut_sortie, 0,-10); // retourne "abcde"
// Si il n y a pas de date de fin de renseignée on attribut la date de début
if(empty($ligne[39])) {
$date_fin_sortie = $date_debut_sortie;
}else{
$ligne[39];
}
// Requete pour calculer le nombre d'annonces en cours de validité
$sql = "SELECT id_loisirs FROM loisirs WHERE number = '".$number."'";
$req = $bdd->query($sql);
$nbResult = $req->rowCount();
//Entrée déjà existante
if ($nbResult > 0) {
echo '"' . $number. '" existe déjà en ' . $nbResult . ' exemplaire(s)';
} else { // libre
// Insertion
$req = $bdd->prepare("INSERT INTO `loisirs` (id_simply_user,titre,price,photo,tracker,id_region,id_departements,postcode,longitude,latitude,city,manufacturer,street,horaire,description,number,date_debut_sortie,valide) VALUES (':id_simply_user',':titre',':price',':photo',':tracker',':region',':departement',':postcode',':longitude',':latitude',':city',':manufacturer',':street',':horaire',':description',':number',':date_debut_sortie',':valide')");
$req->execute(array(
':id_simply_user'=>$id_simply_user,
':titre'=>$titre,
':price'=>$price,
':photo'=>$photo,
':tracker'=>$tracker,
':id_region'=>$region,
':postcode'=>$postcode,
':longitude'=>$longitude,
':latitude'=>$latitude,
':city'=>$city,
':manufacturer'=>$manufacturer,
':street'=>$street,
':horaire'=>$horaire,
':id_departements'=>$departement,
':description'=>$description,
':number'=>$number,
':date_debut_sortie'=>$date_debut_sortie,
':valide'=>$valide
)) or die('Problème lors de l\'insertion');
}
}
?>
[/PHP]