Exemple simple de génération de flux rss

0/5 (5 avis)

Snippet vu 7 351 fois - Téléchargée 34 fois

Contenu du snippet

Dans le même esprit que le code :
- http://www.aspfr.com/code.aspx?ID=25633

Voici un exemple simple de génération de flux RSS depuis une table simple contenant les informations suivantes :
- ID : Id de la nouvelle en cours
- AUTEUR : Auteur de la nouvelle en cours
- DATENEWS : Date de la nouvelle en cours
- MESSAGE : Message de la nouvelle

Source / Exemple :


<?
$dbhost = "VotreServeurMySQL";
$dblogi = "VotreLogin";
$dbpass = "VotrePassWord";
$dbbase = "VotreBase";

$db = @mysql_connect("$dbhost", "$dblogi", "$dbpass") OR DIE("Désolé, la Base est Down !");
@mysql_select_db("$dbbase",$db) OR DIE;

$query = "SELECT * FROM NOUVELLES ORDER BY DATENEWS DESC";
$result = mysql_query ($query) or die("La requette a échouée : ".mysql_error());
$nb_msg = mysql_num_rows($result);

header("Content-Type: text/xml");

$xml = '<'.'?xml version="1.0" encoding="UTF-8"?'.'><rss version="2.0"><channel>';

$xml .='<title>Exemple de flux RSS en PHP</title>';
$xml .='<link>http://www.phpcs.com</link>';
$xml .='<description>Les dernières nouvelles</description>';
$xml .='<managingEditor>adressemail@fournisseur.com</managingEditor>';
$xml .='<language>fr</language>';
$xml .='<generator>PHPCS</generator>';
$xml .='<copyright>PHPCS</copyright>';
$xml .='<webMaster>PHPCS Webmaster</webMaster>';

while ($msg_data = mysql_fetch_array($result))
{
$id           = $msg_data['ID'];

$titre        = $msg_data['AUTEUR']." - Nouvelle Du Site";
$news       = stripslashes(trim($msg_data['MESSAGE']));
$news       = str_replace("<BR>",'<BR/>',$news);
$news       = str_replace("&",'&amp;',$news);
$news       = str_replace("<","<",$news);
$news       = str_replace(">",">",$news);

$xml .='<item>';
$xml .='<author>'.$msg_data['AUTEUR'].'</author>';
$xml .='<title>'.$titre.'</title>';
$xml .='<link>http://VotreSiteWeb/VotrePagedeLecture.php?ValeurID='.$id.'</link>';
$xml .='<pubDate>'.$msg_data['DATENEWS'].' GMT</pubDate>';
$xml .='<guid>http://VotreSiteWeb/VotrePagedeLecture.php?ValeurID='.$id.'</guid>';
$xml .='<comments>http://VotreSiteWeb/VotrePagedeLecture.php?ValeurID='.$id.'</comments>';
$xml .='<description>';

$xml .= $news; 

$xml .='</description></item>';
}

mysql_close();

$xml .='</channel></rss>';

echo $xml;

?>

Conclusion :


Bon coding

Romelard Fabrice (Alias F___)

A voir également

Ajouter un commentaire Commentaires
Masterfight Messages postés 20 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 20 mars 2006
2 mars 2006 à 10:39
Ca fait un bail que je tourne avec ce script, mais je me suis rendu compte il y a peu qu'il n'était pas bien reconnu partout comme étant un flux rss valide.
Thunderbird par exemple, ne fais la mise à jour automatique.
Ce type de rss ne gère pas les accentuations ou la mise forme.
Y a-t-il moyen de régler ces petits soucis ?
Masterfight Messages postés 20 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 20 mars 2006
25 juin 2005 à 02:49
Le problème est résolu. Il ne faut pas oublier que la casse est importante.

$msg_data['AUTEUR']
$msg_data['auteur']

ne sont pas équivalent
OK c'est peut-être la base, mais ça fait pas de mal de le rappeler.
Masterfight Messages postés 20 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 20 mars 2006
24 juin 2005 à 14:10
Bonjour

Si vous prenez l'exemple de mon fichier www.voduong.free.fr/rss2.php
Ma table contient bien un champ ID, la boucle se fait, mais aucune info ne s'affiche.

Le code fait mention du "link":
<link>http://www.voduong.free.fr/index.php?ValeurID='.$id.'</link>
mais la page qui s'affiche n'est que la homepage du site.
cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
24 juin 2005 à 14:01
Je ne comprends pas bien de quelle URL vous parlez.

Romelard Fabrice.
Masterfight Messages postés 20 Date d'inscription jeudi 28 mars 2002 Statut Membre Dernière intervention 20 mars 2006
24 juin 2005 à 13:47
Salut

Ca marche presque.
J'ai un bon retour du fichier rss, mais je n'arrive pas à faire pointer vers la bonne url.

Un petit coup de main ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.