Username: Save?
Password:
Home Forum Links Search Login Register*
    News: Welcome to the TechnoWorldInc! Community!
Recent Updates
[October 17, 2024, 05:05:06 PM]

[October 17, 2024, 04:53:18 PM]

[October 17, 2024, 04:53:18 PM]

[October 17, 2024, 04:53:18 PM]

[October 17, 2024, 04:53:18 PM]

[September 09, 2024, 12:27:25 PM]

[September 09, 2024, 12:27:25 PM]

[September 09, 2024, 12:27:25 PM]

[September 09, 2024, 12:27:25 PM]

[August 10, 2024, 12:34:30 PM]

[August 10, 2024, 12:34:30 PM]

[August 10, 2024, 12:34:30 PM]

[August 10, 2024, 12:34:30 PM]
Subscriptions
Get Latest Tech Updates For Free!
Resources
   Travelikers
   Funistan
   PrettyGalz
   Techlap
   FreeThemes
   Videsta
   Glamistan
   BachatMela
   GlamGalz
   Techzug
   Vidsage
   Funzug
   WorldHostInc
   Funfani
   FilmyMama
   Uploaded.Tech
   MegaPixelShop
   Netens
   Funotic
   FreeJobsInc
   FilesPark
Participate in the fastest growing Technical Encyclopedia! This website is 100% Free. Please register or login using the login box above if you have already registered. You will need to be logged in to reply, make new topics and to access all the areas. Registration is free! Click Here To Register.
+ Techno World Inc - The Best Technical Encyclopedia Online! » Forum » THE TECHNO CLUB [ TECHNOWORLDINC.COM ] » Techno Articles » Internet
 How To Create A Reliable RSS Feed
Pages: [1]   Go Down
  Print  
Author Topic: How To Create A Reliable RSS Feed  (Read 516 times)
Shawn Tracer
TWI Hero
**********


Karma: 2
Offline Offline

Posts: 16072


View Profile
How To Create A Reliable RSS Feed
« Posted: February 26, 2008, 05:04:53 PM »


How To Create A Reliable RSS Feed
 by: Ted Peterson

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.

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.

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.

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.

function additem($t, $l, $d)
   {
   $r= "\n";
   $r.="$t\n";
   $r.="$d\n";
   $r.="$l\n";
   $r.="\n";

   return $r;
   }
function create_rss()
   {
   $r ="\n";
   $r.="\n";
   $r.=" \n";
   $r.=" Core Download - Latest 20 releases\n";
   $r.=" http://www.coredownload.com/\n";
   $r.=" The essential shareware and freeware downloads!\n";
   $r.=" en-us\n";

   $q1="SELECT * FROM `products` WHERE 1 ORDER by p_added DESC LIMIT 0,20";
   $result1 = mysql_query($q1);
   $i=0;
   while ($row = mysql_fetch_array($result1))
         {
         $i++;
         if ($i==1) { $data1=$row[p_added]; }
         $r .=additem($row[p_name], $row[p_link], $row[p_description]);
         $data2=$row[p_added];
         }
   if ($data1==$data2)
      {
      $q1="SELECT * FROM `products` WHERE `p_added`='$data2' LIMIT 20,1000";
      $result1 = mysql_query($q1);
      while ($row = mysql_fetch_array($result1))
            {
            $r .=additem($row[p_name], $row[p_link], $row[p_description]);
            }
      }
   $r.=" \n";
   $r.=" \n";
   echo $r;
}

As you will see if you use this solution on your website, your feed's subscribers will find out about all your items (products, articles, or anything else), no matter how many they are. You can see this solution implemented on CoreDownload.com , a brand new shareware and freeware directory, that offers its visitors 3 RSS feeds: one for all the products, one for shareware and one for freeware.

About The Author

Ted Peterson writes for CoreDownload. Visit www.coredownload.com to see this RSS feed system implemented.

Logged

Pages: [1]   Go Up
  Print  
 
Jump to:  

Copyright © 2006-2023 TechnoWorldInc.com. All Rights Reserved. Privacy Policy | Disclaimer
Page created in 0.093 seconds with 24 queries.