Bericht gepost door Jan - VIZID

Jan - VIZID schreef op 01 juli 2009 16:41

PHP+MySQL: Maak je eigen RSS feed

In deze post zien we via een eenvoudig voorbeeldje hoe we een RSS feed (nieuwsstroom) kunnen opstellen vanuit onze MySQL database.

In ons voorbeeld nemen we de VIZID blog, waarbij alle blogposts in de table "posts" staan. We gaan deze via onderstaand script 1 voor 1 lezen en aan een lijst toevoegen: $items.

<?php
$first = "1";
$resulta = mysql_query("SELECT * FROM posts");
while($rowa = mysql_fetch_array($resulta))
   {
   $postid = $rowa['postid'];
   $date = $rowa['date_posted'];
   if ($first == "1")
   { $first_date = $date; $first = "0"; }
   $full_subject = $rowa['full_subject'];
   $short_subject = $rowa['short_subject'];
   $abstract = $rowa['abstract'];
   $userid = $rowa['userid_posted'];
   $resultb = mysql_query("SELECT * FROM users WHERE userid = '$userid'");
   while($rowb = mysql_fetch_array($resultb))
     {
     $first_name = $rowb['first_name'];
     $last_name = $rowb['last_name'];
     }
   $items .= ' <item>';
   $items .= ' <title>'. $full_subject . '</title>';
   $items .= ' <link>http://vizid.be/blog.php?postid=' .$postid . '&post=' . $short_subject . '</link>';
   $items .= ' <guid>http://vizid.be/blog.php?postid=' .$postid . '</guid>';
   $items .= ' <description>' . $abstract . '</description>';
   $items .= ' <pubDate>' . $date . '</pubDate>';
   $items .= ' <author>' . $first_name . ' ' . $last_name . '</author>';
   $items .= ' </item>';
   }
?>


Als tweede stap gaan we de omliggende RSS-code opstellen en de $items in deze code injecteren.

<?php echo '<?xml version="1.0" encoding="iso-8859-15"?>'; ?>
<rss version="2.0">
<channel>
   <title>VIZID Webhosting :: Blog - Recente posts</title>    <link>http://vizid.be/blog.php</link>
   <description>De laatste nieuwtjes over VIZID en webhosting met tips, hints, promoties,...</description>
   <language>nl-be</language>
   <copyright>©<?php echo date("Y"); ?> VIZID.be</copyright>
   <pubDate><?php echo $first_date; ?></pubDate>
   <ttl>60</ttl>
   <image>
     <title>VIZID Webhosting :: Blog - Recente posts</title>
     <link>http://vizid.be/blog.php</link>
     <url>http://vizid.be/images/vizid_blogt.png</url>
     <width>163</width>
     <height>41</height>
     <description>De laatste nieuwtjes over VIZID en webhosting met tips, hints, promoties,...</description>
   </image>
<?php echo $items; ?>
</channel>
</rss>


Zo. Het eindresultaat van deze code vind je via http://feeds.feedburner.com/VIZID_blogt. In een volgende blogpost zullen we trouwens de uitstekende Feedburner service bespreken. Deze biedt enkele extra mogelijkheden om je feed beter op te maken, en gemakkelijker ter beschikking te stellen aan je bezoekers.

permalink  /  gepost in: PHP, MySQL  /  tags: ,   /  nog geen comments

Creëer account

  • Uitgebreide tutorials en support
  • Onbeperkt aantal domeinen
Vanaf €24/jaar incl. BTW