Les Allergies
Alimentaires
Posez votre question Signaler

Récupération du contenu pour un flux RSS [Résolu]

dcanl 3027Messages postés 7 septembre 2005Date d'inscription 10 septembre 2011Dernière intervention - Dernière réponse le 20 oct. 2007 à 11:11
Bonjour,
Je cite l'encyclopédie CCM
Pour proposer un flux RSS sur son site et mettre ainsi une partie de son contenu à disposition des autres webmasters, il suffit de créer un script chargé de récupérer les informations à inclure dans le flux RSS et de les écrire dans un fichier XML au format RSS.

Est-ce que quelqu'un pourrait me dire comment on fait un tel script ? Ou me donner un exemple ?
Parce que je n'ai pas vraiment envie de mettre à jour à la main un fichier à chaque ajout de news sur mon site ! :) Les flux RSS de CCM doivent bien être générés automatiquement, j'aimerais savoir comment faire.
Merci !
Lire la suite 

Récupération du contenu pour un flux RSS »

4 réponses
Réponse
+1
moins plus
tu peux tenter un truc du genre :
<?php
header('Content-Type: application/rss+xml');
	
	printf("%s\n", '<?xml version="1.0" encoding="iso-8859-1" ?>');
	printf("%s\n", '<rss version="2.0">');

	printf("<channel>\n");
	printf("<title>%s</title>\n", "Titre");
	printf("<link>%s</link>\n", "http://adresse de ton site");
	printf("<description>%s</description>\n", "description du site");
	printf("\t<pubDate>%s</pubDate>\n\n", htmlspecialchars(date(DATE_RFC822)));
	
	include ('auth.php');
	
	if (isset($_REQUEST['nb'])){
		$nb = $_REQUEST['nb'];
	}else{
		$nb = 5;
	}
	
	$sql = "SELECT * FROM news";
	$resultat = mysql_query($sql, $id_link);
	$nb = min(mysql_num_rows($resultat), $nb);
	
	mysql_free_result($resultat);

	$sql = "SELECT * FROM news ORDER BY news_id DESC LIMIT ".$nb;
	$result = mysql_query($sql, $id_link);
	
	while ($rang = @mysql_fetch_array($result, MYSQL_BOTH)) {
		$titre = htmlspecialchars(strip_tags(html_entity_decode($rang['news_titre'])),ENT_QUOTES);
		$desc = date("Y-m-d : ",$rang['news_date']).str_replace('/[\r\n]/g', "", htmlspecialchars(html_entity_decode($rang['news_message']), ENT_QUOTES));
		
		printf("<item>\n");
		printf("\t<title>%s</title>\n", $titre);
		printf("\t<link>http://adresse de ton site</link>\n");
		printf("\t<description>%s</description>\n", $desc);
		printf("\t<pubDate>%s</pubDate>\n", date(DATE_RFC822,$rang['news_date']));
		printf("</item>\n\n");
		
	}
	mysql_free_result($result);
	printf("%s\n%s\n", "</channel>","</rss>");
?>
Ajouter un commentaire
Réponse
+0
moins plus
Salut.

Mais ça, ça me donne un fichier .php si je ne me trompe... ? Et il faut un .xml pour des flux rss... ?

@+
vignemail1- 13 oct. 2007 à 10:51
pas forcement un .xml car il suffit de dire que le contenu est du rss avec header('Content-Type: application/rss+xml');
dcanl- 20 oct. 2007 à 11:11
Mais dans ce cas, avec Firefox ça marche nickel, mais IE6 veut télécharger le fichier et ne l'affiche pas...

Mais merci en tout cas, j'arrive à récupérer ce que je veux dans ma base de données ! :-)

@+
Ajouter un commentaire
Ce document intitulé « Récupération du contenu pour un flux RSS » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?