Voilà quelque chose de + claire surement ( j'ai essayer de réduire le code au mieux )
// connexion ...
$type = array( // Concert
'POP|Pop-rock/Folk' => 10, '11P|Pop-Rock/Musique électronique' => 10, '1MC|Musique/Concerts' => 10, 'VAI|Variété internationale' => 10, 'VAI|Variété internationale ' => 10, 'VAF|Variété et chanson françaises' => 10,
'CMU|Comédie Musicale' => 10, 'HAR|Hard-rock/Métal' => 10, 'MEL|Musique électronique' => 10, 'CLU|Clubbing & Soirées' => 10, 'SOI|Galas/Soirées étudiante' => 10,
// 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, '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
$number = addslashes($item->number);
$titre = addslashes($item->name);
$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];
$dateFin = $decoupe[2];
$heurefin = $decoupe[3];
//conversion de la date debut du format fr(jj:mm:aaaa hh:mm:ss) en format us(aaaa-mm-jj hh:mm:ss)
$dateDebut = date_create_from_format('d/m/Y',$dateDebut);
$dateDebut = date_format($dateDebut, 'Y-m-d');
// On valide la sortie par default
$valide = '1';
foreach (explode(' ; ', /*(string)*/ $item->merchantCategoryPath) as $subtype) {
$id_type_loisirs = $type[$subtype];
}
if ($id_type_loisirs == 10) {
$desc_genre = $assoc_concert; // Concert
} elseif ($id_type_loisirs == 11) {
$desc_genre = $assoc_spectacle; // Spectacle
}
// description
$description = addslashes($desc_genre);
$result = mysql_query("SELECT id_loisirs FROM loisirs WHERE number = ".$number."");
if (mysql_num_rows($result) > 0) {
//Entrée déjà existante
echo 'Cette entrée existe déjà';
}else{
// libre
$sql = "INSERT INTO `loisirs` (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,number,valide) VALUES ('$id_simply_user','$titre','$price','$photo','$url_fnac','$date_debut_sortie', '$heureDebut', '$date_fin_sortie', '$heurefin', '$description','$street','$pieces[0]','$pieces[1]','$region','$departement','$id_type_loisirs','$number','$valide')";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
echo 'Insertion en bdd';
}
}
?>