créer un fil rss classique avec des donnees de mysql
Par aurelien gerits le samedi, 18 avril 2009, 00:50 - travail sur les fichiers - Lien permanent
Ce billet est obsolète : la méthode est le RSS 2.0 stricte
Vous connaissez tous le principe du fil RSS utilisés pour la syndication de contenu Web.
La base même de ce type de fil RSS est :
<title> : Définit le titre de l'actualité ;
<link> : Définit l'URL du flux correspondant à l'actualité ;
<pubDate> : Définit la date de l'actualité ;
<description> : Définit une description succincte de l'actualité ;
Pour ce qui est du format ATOM c'est une autre histoire...
On peu créer un fil au format classique très simplement avec la librairie.
Je vous rappel le format :
[xml] <?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"> <channel> <title>Mon site</title> <description>Ceci est un exemple de flux RSS 2.0</description> <pubDate>frid, 18 april 2009 04:32:51 -0700</pubDate> <link>http://www.example.org</link> <item> <title>Actualité N°1</title> <description>Ceci est ma première actualité</description> <pubDate>frid, 18 april 2009 04:32:51 -0700</pubDate> <link>http://www.example.org/actu1</link> </item> </channel> </rss>
Pour commencer créons une table de test nommé "news"
[SQL] CREATE TABLE `news` ( `id_news` int(11) NOT NULL auto_increment, `sujet` varchar(255) NOT NULL, `texte` text NOT NULL, `news_date` date NOT NULL, PRIMARY KEY (`id_news`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Cette table va nous servir pour notre base et ainsi comprendre comment utilisé la class RSS de la librairie.
Une fois connecté, la table créé, on peu commencer notre requête de sélection.
[PHP] /*On charge l'abstraction*/ $layer = new magixcjquery_magixdb_layer(); /*On fais notre requête SQL*/ $info = $layer->select("SELECT * FROM news WHERE id_news ORDER BY ID_NEWS DESC LIMIT 10"); /*On instance magix RSS*/ $xml = new magix_Rss(); /*On utilise la fonction pour le RSS classique*/ $xml->iniXmlRsswrite($info,'item','sujet','news_date','id_news','description','texte','Mon Cdata(optionel)','mon commentaire(optionel)');
Avec juste une seule ligne on génère un fichier xml tout propre avec nos données provenant de MYSQL.
Vous pourrez d'ailleurs créer des fichiers xml pour un fil RSS ATOM lors de l'ajout de la fonction.
Commentaires
je ne trouve pas magixLayer()
Ce n'est plus dblayer() mais magixcjquery_magixdb_layer() , j'ai fais la modification dans le billet.
Mais je vous recommande plutôt ce billet : création rss 2.0 stricte étant à jour
Toutes mes excuses.
Cordialement
Aurélien