par
yoann38 » 30 juin 2015, 17:49
Donc ca marche mais les date ne s'insere pas en bdd pour tt le reste c ok,
Les date sont les colone date_debut_sortie et date_fin_sortie
J'arrive bien a recupérer les date car ca me ressort exemple:
Insertion en bdd
Titre: LES AMBASSADEURS AVEC SALIF KEITA
Date début 07/08/2015
Horaire début 18:30
Date Fin07/08/2015
Horaire Fin18:30
Mais lors de l'echo certaines entrée sont : vide ( je n'ai que le titre dans cet exemple )
Titre: BERNARD MABILLE SUR SCENE
Date début
Horaire début
Date Fin
Horaire Fin
Mon code complet:
<?php
include("conndb.php");
include("include/variables.php");
/* For the following details, ask your server vendor */
if(strstr($_SERVER['HTTP_HOST'], '127.0.0.1')) {
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "base";
}else {
$dbhost = "*******";
$dbuser = ""*******";";
$dbpass = ""*******";";
$dbname = ""*******";";
}
mysql_connect( $dbhost, $dbuser, $dbpass ) or die ( "Unable to connect to MySQL server" );
mysql_select_db( $dbname ) or die ('Echec');
mysql_query( "SET NAMES utf8" );
// Apel du fichier XML
$flux = simplexml_load_file('zxpd_201506260440_3467_31592008.xml'); // Source du flux.xml
$type = array(
// Coffret cadeau
'CCA|Carte cadeau' => 20, 'COB|Coffrets Bien-être' => 20, 'COS|Coffrets Séjours' => 20, 'COG|Coffrets Gastronomie' => 20, 'COA|Coffrets Activités' => 20,
'COE|Coffrets Enfants' => 20, 'CHM|Coffrets Homme' => 20, 'COS|Coffrets Femme' => 20, ' CPS|Coffrets Sport/Pilotage' => 20, ' CAO|Coffrets Originaux/Atypiques' => 20,
'CMT|Coffrets Multithématiques' => 20, 'CLU|Coffrets luxe' => 20, 'CDI|Coffrets divers' => 20,
// Cinéma
'FIL|Film' => 18, 'ACI|Abonnement/Pass cinéma' => 18, 'ACT|Action' => 18, 'ANI|Animation' => 18, 'ARM|Arts martiaux' => 18, 'AVE|Aventure' => 18, 'AVP|Avant-première' => 18, 'BIO|Biopic' => 18, 'BOL|Bollywood' => 18, 'CIC|Ciné-concert' => 18,
'CIE|Cinéma jeune public' => 18, 'CLA|Classique' => 18, 'COD|Comédie dramatique' => 18, 'COM|Comédie' => 18, 'DEA|Dessin animé' => 18, 'DIV|Divers' => 18, 'DOC|Documentaire' => 18, 'DRA|Drame' => 18, 'EPO|Epouvante-horreur' => 18, 'ERO|Erotique' => 18,
'ESP|Espionnage' => 18, 'FAN|Fantastique ' => 18, 'FCE|Comédie érotique' => 18, 'FFA|Famille' => 18, 'GUE|Guerre' => 18, 'HIS|Historique' => 18, 'JUD|Judiciaire' => 18, 'MED|Médical' => 18, 'MOB|Mobisode' => 18, 'MUS|Musical' => 18,
'NUI|Nuit à thème (cinéma)' => 18, 'PEP|Péplum' => 18, 'POL|Policier' => 18, 'ROM|Romance' => 18, 'SCF|Science fiction' => 18, 'SOA|Soap' => 18, 'THR|Thriller' => 18,
'WEB|Web série' => 18, 'WES|Western' => 18, '131F|Cinéma' => 18, '13CI|Cinéma' => 18, 'ROC|Retransmission Opéra/Concert ;' => 18, '81F|Cinéma' => 18, '8CI|Cinéma' => 18,
);
// On entre les entrees en bdd
function multiexplode ($delimiters,$string) {
$ready = str_replace($delimiters, $delimiters[0], $string);
$launch = explode($delimiters[0], $ready);
return $launch;
}
foreach ($flux->product as $item) {
// Récupération des données en fonction du tagname du XML
$titre = addslashes($item->name);
$price = $item->price;
$url_fnac = $item->deepLink;
$street = addslashes($item->terms);
$photo = $item->largeImage;
$genre = $item->merchantCategoryPath;
$description = 'Une sortie proposé par notre parnetaire Fnac, trouvez la sortie du moment qui vous correspond, <a class="lien" href="'.$url_fnac.'">découvrez le descriptif complet.</a> ';
// Code postal
$postcode = addslashes($item->extra2);
$pieces = explode(" | ", $postcode);
// on parcourt le tag longDescription du XML
$longDescription = addslashes($item->longDescription);
$decoupe = multiexplode(array("|"," ","|"," "),$longDescription);
// Début événement
$dateDebut = $decoupe[0];
$heureDebut = $decoupe[1];
// si il n y a pas de date de fin alors je lui attribue la date de début
if (empty($decoupe[0])) {
$dateDebut = NULL;
} else {
$decoupe[0] = $dateDebut;
}
// si il n y a pas de date de fin alors je lui attribue la date de début
if (empty($decoupe[0])) {
$heureDebut = NULL;
} else {
$decoupe[0] = $heureDebut;
}
// si il n y a pas de date de fin alors je lui attribue la date de début
if (empty($decoupe[2])) {
$dateFin = $dateDebut;
} else {
$decoupe[2] = $dateFin;
}
// si il n y a pas d'heure de fin alors je lui attribue l'heure de début
if (empty($decoupe[3])) {
$heurefin = $heureDebut;
} else {
$heurefin = $decoupe[3];
}
// on affiche heure et date de début
echo '<strong>Titre: </strong>' .$titre .'<br>';
echo '<strong>Date début</strong>' .$dateDebut .'<br>';
echo '<strong>Horaire début</strong>' .$heureDebut .'<br><br><br>';
// on affiche heure et date de fin
echo '<strong>Date Fin</strong>' .$dateFin .'<br>';
echo '<strong>Horaire Fin</strong>' .$heurefin .'<br><br><br>';
// séparation des données
echo'---------------------------------<br>';
// On attribut le département en fonction des 2 premiers chiffre du code postal
$departement = substr($postcode, 0, 2);
$region = regionIdByDepartement($departement);
// Attribution de la valeur id 1010 pour la fnac
$id_simply_user = '999';
// On valide la sortie par default
$valide = '1';
foreach (explode(' ; ', /*(string)*/ $item->merchantCategoryPath) as $subtype) {
$id_type_loisirs = $type[$subtype];
}
$result = mysql_query("SELECT id_loisirs FROM loisirs WHERE titre = ".$titre.", city = ".$pieces[2].", postcode = ".$pieces[1].", date_debut_sortie = ".$dateDebut.", date_fin_sortie = ".$dateFin."");
if(mysql_num_rows($result) == 1){
//Entrée déjà existante
echo 'Cette entrée existe déjà';
}else{
$sql = "INSERT INTO `matable` (id_simply_user,titre,price,photo,url_fnac,date_debut_sortie,horaire_debut,date_fin_sortie,horaire_fin,description,street,postcode,city,id_region,id_departements,id_type_loisirs,valide) VALUES ('$id_simply_user','$titre','$price','$photo','$url_fnac','$dateDebut', '$heureDebut', '$dateFin', '$heurefin', '$description','$street','$pieces[0]','$pieces[1]','$region','$departement','$id_type_loisirs','$valide')";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Insertion en bdd';
}
}
?>
Donc ca marche mais les date ne s'insere pas en bdd pour tt le reste c ok,
Les date sont les colone date_debut_sortie et date_fin_sortie
J'arrive bien a recupérer les date car ca me ressort exemple:
Insertion en bdd
Titre: LES AMBASSADEURS AVEC SALIF KEITA
Date début 07/08/2015
Horaire début 18:30
Date Fin07/08/2015
Horaire Fin18:30
Mais lors de l'echo certaines entrée sont : vide ( je n'ai que le titre dans cet exemple )
Titre: BERNARD MABILLE SUR SCENE
Date début
Horaire début
Date Fin
Horaire Fin
Mon code complet:
[php]<?php
include("conndb.php");
include("include/variables.php");
/* For the following details, ask your server vendor */
if(strstr($_SERVER['HTTP_HOST'], '127.0.0.1')) {
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "base";
}else {
$dbhost = "*******";
$dbuser = ""*******";";
$dbpass = ""*******";";
$dbname = ""*******";";
}
mysql_connect( $dbhost, $dbuser, $dbpass ) or die ( "Unable to connect to MySQL server" );
mysql_select_db( $dbname ) or die ('Echec');
mysql_query( "SET NAMES utf8" );
// Apel du fichier XML
$flux = simplexml_load_file('zxpd_201506260440_3467_31592008.xml'); // Source du flux.xml
$type = array(
// Coffret cadeau
'CCA|Carte cadeau' => 20, 'COB|Coffrets Bien-être' => 20, 'COS|Coffrets Séjours' => 20, 'COG|Coffrets Gastronomie' => 20, 'COA|Coffrets Activités' => 20,
'COE|Coffrets Enfants' => 20, 'CHM|Coffrets Homme' => 20, 'COS|Coffrets Femme' => 20, ' CPS|Coffrets Sport/Pilotage' => 20, ' CAO|Coffrets Originaux/Atypiques' => 20,
'CMT|Coffrets Multithématiques' => 20, 'CLU|Coffrets luxe' => 20, 'CDI|Coffrets divers' => 20,
// Cinéma
'FIL|Film' => 18, 'ACI|Abonnement/Pass cinéma' => 18, 'ACT|Action' => 18, 'ANI|Animation' => 18, 'ARM|Arts martiaux' => 18, 'AVE|Aventure' => 18, 'AVP|Avant-première' => 18, 'BIO|Biopic' => 18, 'BOL|Bollywood' => 18, 'CIC|Ciné-concert' => 18,
'CIE|Cinéma jeune public' => 18, 'CLA|Classique' => 18, 'COD|Comédie dramatique' => 18, 'COM|Comédie' => 18, 'DEA|Dessin animé' => 18, 'DIV|Divers' => 18, 'DOC|Documentaire' => 18, 'DRA|Drame' => 18, 'EPO|Epouvante-horreur' => 18, 'ERO|Erotique' => 18,
'ESP|Espionnage' => 18, 'FAN|Fantastique ' => 18, 'FCE|Comédie érotique' => 18, 'FFA|Famille' => 18, 'GUE|Guerre' => 18, 'HIS|Historique' => 18, 'JUD|Judiciaire' => 18, 'MED|Médical' => 18, 'MOB|Mobisode' => 18, 'MUS|Musical' => 18,
'NUI|Nuit à thème (cinéma)' => 18, 'PEP|Péplum' => 18, 'POL|Policier' => 18, 'ROM|Romance' => 18, 'SCF|Science fiction' => 18, 'SOA|Soap' => 18, 'THR|Thriller' => 18,
'WEB|Web série' => 18, 'WES|Western' => 18, '131F|Cinéma' => 18, '13CI|Cinéma' => 18, 'ROC|Retransmission Opéra/Concert ;' => 18, '81F|Cinéma' => 18, '8CI|Cinéma' => 18,
);
// On entre les entrees en bdd
function multiexplode ($delimiters,$string) {
$ready = str_replace($delimiters, $delimiters[0], $string);
$launch = explode($delimiters[0], $ready);
return $launch;
}
foreach ($flux->product as $item) {
// Récupération des données en fonction du tagname du XML
$titre = addslashes($item->name);
$price = $item->price;
$url_fnac = $item->deepLink;
$street = addslashes($item->terms);
$photo = $item->largeImage;
$genre = $item->merchantCategoryPath;
$description = 'Une sortie proposé par notre parnetaire Fnac, trouvez la sortie du moment qui vous correspond, <a class="lien" href="'.$url_fnac.'">découvrez le descriptif complet.</a> ';
// Code postal
$postcode = addslashes($item->extra2);
$pieces = explode(" | ", $postcode);
// on parcourt le tag longDescription du XML
$longDescription = addslashes($item->longDescription);
$decoupe = multiexplode(array("|"," ","|"," "),$longDescription);
// Début événement
$dateDebut = $decoupe[0];
$heureDebut = $decoupe[1];
// si il n y a pas de date de fin alors je lui attribue la date de début
if (empty($decoupe[0])) {
$dateDebut = NULL;
} else {
$decoupe[0] = $dateDebut;
}
// si il n y a pas de date de fin alors je lui attribue la date de début
if (empty($decoupe[0])) {
$heureDebut = NULL;
} else {
$decoupe[0] = $heureDebut;
}
// si il n y a pas de date de fin alors je lui attribue la date de début
if (empty($decoupe[2])) {
$dateFin = $dateDebut;
} else {
$decoupe[2] = $dateFin;
}
// si il n y a pas d'heure de fin alors je lui attribue l'heure de début
if (empty($decoupe[3])) {
$heurefin = $heureDebut;
} else {
$heurefin = $decoupe[3];
}
// on affiche heure et date de début
echo '<strong>Titre: </strong>' .$titre .'<br>';
echo '<strong>Date début</strong>' .$dateDebut .'<br>';
echo '<strong>Horaire début</strong>' .$heureDebut .'<br><br><br>';
// on affiche heure et date de fin
echo '<strong>Date Fin</strong>' .$dateFin .'<br>';
echo '<strong>Horaire Fin</strong>' .$heurefin .'<br><br><br>';
// séparation des données
echo'---------------------------------<br>';
// On attribut le département en fonction des 2 premiers chiffre du code postal
$departement = substr($postcode, 0, 2);
$region = regionIdByDepartement($departement);
// Attribution de la valeur id 1010 pour la fnac
$id_simply_user = '999';
// On valide la sortie par default
$valide = '1';
foreach (explode(' ; ', /*(string)*/ $item->merchantCategoryPath) as $subtype) {
$id_type_loisirs = $type[$subtype];
}
$result = mysql_query("SELECT id_loisirs FROM loisirs WHERE titre = ".$titre.", city = ".$pieces[2].", postcode = ".$pieces[1].", date_debut_sortie = ".$dateDebut.", date_fin_sortie = ".$dateFin."");
if(mysql_num_rows($result) == 1){
//Entrée déjà existante
echo 'Cette entrée existe déjà';
}else{
$sql = "INSERT INTO `matable` (id_simply_user,titre,price,photo,url_fnac,date_debut_sortie,horaire_debut,date_fin_sortie,horaire_fin,description,street,postcode,city,id_region,id_departements,id_type_loisirs,valide) VALUES ('$id_simply_user','$titre','$price','$photo','$url_fnac','$dateDebut', '$heureDebut', '$dateFin', '$heurefin', '$description','$street','$pieces[0]','$pieces[1]','$region','$departement','$id_type_loisirs','$valide')";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Insertion en bdd';
}
}
?>[/php]