Bonjour,
J'ai un souci avec un flux XML que je n'arrive pas à découper. Pourtant, cette méthode fonctionne avec les autres flux XML. (http!!!!!!!!!://api.zanox.com/xml/2011-03-01/incentives/?connectid=30BBA0E4D3A87B79A522®ion=FR)
Vous trouverez ici le flux XML que je souhaite découper et là le code PHP que j'utilise :
Merci par avance pour votre aide.
J'ai un souci avec un flux XML que je n'arrive pas à découper. Pourtant, cette méthode fonctionne avec les autres flux XML. (http!!!!!!!!!://api.zanox.com/xml/2011-03-01/incentives/?connectid=30BBA0E4D3A87B79A522®ion=FR)
Vous trouverez ici le flux XML que je souhaite découper et là le code PHP que j'utilise :
Merci par avance pour votre aide.
// récupération du flux XML
$articles_xml = simplexml_load_file('http!!!!!!!!!!://api.zanox.com/xml/2011-03-01/incentives/?connectid=30BBA0E4D3A87B79A522®ion=FR');
//$articles_xml = simplexml_load_file('public.xml');
foreach ($articles_xml ->promo as $SearchIncentivesResponse) {
// ici je nome mes fonction
$link1="{$promo->name}";
$link1 = addslashes($link1);
echo " Lien $link1<br />";
//ici je découpe les chaine de caractère de la fonction titre
// Je l'éclate pour sortire le code promotion et le nom de l'annonsseur.
//$code_promo = strrchr($titre, ':'); // suppresion de tous les élémént avant les :
//$code_promo = str_replace(':' ,' ',$code_promo); // Ici suppresion des : dans code promo
//$annonceur = substr($titre, 0, strpos($titre, ":")); // suppresion de tous les apres avant les :
// Ici je vais découper la chaine description pour :
// 1- supprimer le code promo redondant
// 2- sortire la date de validiété entre ( ) suivie de :
// 3 - avoir la desciption du code promo
//$description = strchr($description, '!'); // suppresion de la date de validiét ds description:
//$annonceur = substr($annonceur, 0, strpos($annonceur, "!")); // suppresion de tous les espace apres date :
//$title = strchr($title, '!'); // suppresion de la date de validiét ds description:
// ici je vais changer tous les caractere non HTML en HTML
$description=str_replace("€", "€",$description);
$description=str_replace("\'", "´",$description);
$description=str_replace("à", "à",$description);
$description=str_replace("é", "é",$description);
$description=str_replace("è", "è",$description);
$description=str_replace("ê", "ê",$description);
$description=str_replace("ë", "ë",$description);
//$date_validite = strchr($description, '('); // suppresion de tous les élémént avant les :
//$description = substr($description, 0, strpos($description, "valable")); // suppresion de tous apres avant les )
//$enddate = strchr($date_validite, ' '); // suppresion de la date de dans la desciption
// verification si le champ enddate est vide et si oui alors création du date indefinie
if ($datefin == "Illimité" )
{
// On ajoute une date
$datefin = "2050-01-01";
}
// Creation de l'URL de annonceur
$com =".com";
$url_site = "http://www.";
$url_site = $url_site . $progname . $com ;
// affichange du résultat apres dcoupe
echo " Lien $link<br />";
echo " code promotion $code <br />";
echo " Marchand : $progname <br />";
echo " description-propre $description <br />";
echo " date : $enddate <hr />\n";
echo " date 2 : $datefin <hr />\n";
echo " num : $num_annonceur";
// ici création de l'id unique
$ida = substr($progname,0,2); // Ajout des 2 premiere lettre du marchand dans l'ID car ceratins n'on pas de date de validité.
$id_unique = $code . $datefin .$idtrad ;
$id_unique_flux = $id_unique . $ida ;
//echo "Mon id unique creer via le flux : \n";
echo "id unique $id_unique_flux ";
// Test si l'identifiant existe déjà
$result = mysql_query("SELECT * FROM `bon_reduction` WHERE iddd = '$id_unique_flux'");
if (!$result) {
die('Requête invalide : ' . mysql_error());
}
$num_rows = mysql_num_rows($result);
if ($num_rows) {
// On continue car l'identifiant existe
continue;
}
else {
// C'est bon, cela correspondant à un nouvel enregistrement
//echo "Ajout nouveau code" ;
mysql_query("
INSERT INTO `)
VALUES(')" ) or die(mysql_error());
}
} //fin foreach