Home | About | Articles | How to use | Contact Us 
 
 Free service - Beta version 
 

How to Create a Reliable RSS Feed




<p>You probably already know what RSS is - it is a file format for syndicating news and the content of sites, in a very flexible manner. What you probably don't know is that creating a correct RSS feed is in many cases a very difficult task for webmasters. I am not talking about sites that supply just a few news a day, I am talking about sites that supply tens of news a day.


$r.=" n";


$r.=" en-usn";


Lets suppose that the table from which we want to take the last items is named "products" and has 4 fields: "p_name" (product name), "p_added" (date when the product was added), "p_link" (product link) and "p_description" (product description). We have 2 functions, one that adds an item to the feed, and one that adds the standard elements of a RSS file, and then queries the database for the items added to the table on the current day.


$r.="n";


$i=0;


return $r;


$r.=" The essential shareware and freeware downloads!n";


Let's take for example a shareware site. For the site to become popular, it has to be always up to date and to contain all the latest releases. So, the webmasters have to search for the new titles and add them to their databases. Many of them offer their visitors the possibility to stay informed about the latest releases using RSS feeds, which contain their names, links and short descriptions of the new releases. Visitors interested in this kind of information subscribe to the RSS feeds, using web-based or desktop aggregators, like Bloglines or SharpReader. All the aggregators query the RSS feeds every couple of hours, which is sufficient for many of the feeds, but not for all of them. It is a common practice that the feeds supply only the last 20 items, but what if, between two queries from the aggregators, appear, let's say, 43 items? Then, 23 of them wouldn't appear to the subscribers. Probably you've never thought about this, but I can assure you this situation really occurs, and you have to solve it, for you and your visitors' interest.


$r.=" http://www.coredownload.com/n";


$r.="$dn";


$result1 = mysql_query($q1);


$i++;


$r ="n";


$r.=" n";


function additem($t, $l, $d)


$data2=$row[p_added];


}


if ($i==1) { $data1=$row[p_added]; }


$q1="SELECT * FROM `products` WHERE `p_added`='$data2' LIMIT 20,1000";


if ($data1==$data2)


$r.="n";


$r.="$ln";


I will now show you a solution to this problem, implemented in PHP, one of the most used scripting languages on websites that are led by large databases. The main idea is that we will compare the date of the first and the 20th item, and if they are equal, we will run an extra query, to also add the other items that appeared in the database in the same day.


while ($row = mysql_fetch_array($result1))


$r.=" n";


}function create_rss()


$r.=" Core Download - Latest 20 releasesn";


{


$r.="$tn";


$r .=additem($row[p_name], $row[p_link], $row[p_description]);


$r= "n";


$q1="SELECT * FROM `products` WHERE 1 ORDER by p_added DESC LIMIT 0,20";


echo $r;}





Previous article: 27 December 2006 | Home

Previous article: 27 December 2006

Home

ARCHIVES:

  • December 2006
  • November 2006
  • Articles in September 2006


  •  
        Join RSS Ground

    Home | How to use | Articles | Privacy Notice