8722 sujets

Développement web côté serveur, CMS

Bonjour,

Je suis actuellement à la recherche d'un script me permettant d'afficher les actualités de différents sites web, via leurs flux RSS.

Je me suis donc tourné vers SimpeXML, j'arrive bien a afficher les actualités d'un seul flux avec ce script :



<?php
try{
if(!@$fluxrss=simplexml_load_file('http://www.alsacreations.com/rss/')){ throw new Exception('Flux introuvable');}

if(empty($fluxrss->channel->title) && empty($fluxrss->channel->description) &&empty($fluxrss->channel->item->title)) throw new Exception('Flux invalide');

$i=0;
$nb_affichage = 10;

echo '<ul>';
foreach($fluxrss->channel->item as $item){
echo '<li><a href="'.(string)$item->link.'">'.(string)$item->title.'</a><p>'.(string)$item->description.'</p> <i>publié le'.(string)date('d/m/Y à G\hi',strtotime($item->pubDate)).'</i></li>';

if(++$i>=$nb_affichage)
break;
}

echo '</ul>';
}
			
catch(Exception $e){
echo $e->getMessage();
}


Le problème est que l'orsque j'ajoute un deuxième flux comme ceci, le message d'erreur flux invalide s'affiche :

 if(!@$fluxrss=simplexml_load_file('flux1.xml', 'flux2.xml'))
   { throw new Exception('Flux introuvable');}


merci pour votre aide.
Modifié par rmim22 (11 Apr 2013 - 14:15)
Effectivement je viens de m'en rendre compte. N'y à t'il pas une solution pour intégrer plusieurs flux RSS ?

Merci.
Le problème c'est comment ensuite trier les différents flux par date (Heure) de publication ?

Peut être en intégrant les différentes infos des flux dans une base de donnée ?

Merci pour ton aide.
Modifié par rmim22 (11 Apr 2013 - 19:19)
Alors c'est assez simple en théorie :

Tu lis tous tes flux, tu joints les items en 1 tableau avec la fonction array_merge() puis tu fais un tri sur la date avec la fonction usort().

Je te laisse chercher un peu en regardant la doc parce que c'est l'heure de l'apéro et du repas. Smiley langue

Je te filerai un petit exemple plus tard si tu n'as pas trouvé d'ici là.
Modifié par jb_gfx (11 Apr 2013 - 19:25)
A vrais dire je débute en php, cela dit merci pour ton aide, j'avance petit à petit.

Je vais regardé du coté de la fonction array_merge() et fonction usort().

Encore merci.
J'ai essayer de chercher un peu du côté de la fonction array_merge() et la fonction usort() mais je t'avoue ne pas tout comprendre. Je suis un peu perdu, serait-il possible de me transmettre un morceaux de code en guise d'exemple ?

Merci pour ton aide.