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: nieuwsstroom, RSS feed / nog geen comments