Dynamically generate your website's RSS with PHP and MySQL
This is the script I use to dynamically generate my site's RSS using php and mysql.
<?php
$sql = "SELECT * FROM mydatabase.mysite_articles";
$result = mysql_query($sqll) or die("Cannot generate rss");
$numrows = mysql_num_rows($result);
if($numrows > 0){
$now = date("D, d M Y H:i:s T");
$string = "<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>title of your site here</title>
<link>yoursite.com/rss.php</link>
<description>".htmlentities(site's description here)."</description>
<language>en-us</language>
<pubDate>".$now."</pubDate>
<lastBuildDate>".$now."</lastBuildDate>
<docs>url as reference of rss documentation</docs>
<managingEditor>emailhere@yoursite.com</managingEditor>
<webMaster>emailhere@yoursite.com</webMaster> ";
while($row = mysql_fetch_array($result)){
$string .= "<item> ";
$string .= "<title>".$row[title']."</title> ";
$string .= "<link>".$row['link']."</link> ";
$string .= "<description>".$row['link']."</description> ";
$output .= "<pubDate>".date("D, d M Y H:i:s T",$row['date_timestamp']))."</pubDate> ";
$string .= "</item> ";
}
$string .= "</channel> ";
$string .= "</rss> ";
header("Content-Type: application/rss+xml");
echo $string;
}
?>
Using a content-disposition header, which specifies the output and presentation of the body part as an xml/rss, there is no need to create a separate rss file (through fopen/fwrite).
The content-disposition header is being specified through this line of code:
header("Content-Type: application/rss+xml");



