ANIL KUMAR PANIGRAHI 's Blog

How to create rss feeds using php and mysql

Posted by: Anil Kumar Panigrahi in: ● July 2, 2010

Hi friends,
In this post i want to explain how to create rss feeds using php code and get the data from mysql table.

1) Connect to database:
We already discussed about how to connect database using php code.See the following code to connect database:

1
2
3
4
5
6
7
8
9
10
11
 
<?php
DEFINE ('DB_USER', 'root');
DEFINE ('DB_PASSWORD', 'root');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'rss');
 
// Make the connnection and then select the database.
$dbc = @mysql_connect (DB_HOST, DB_USER, DB_PASSWORD) OR die ('Could not connect to MySQL: ' . mysql_error() );
mysql_select_db (DB_NAME) OR die ('Could not select the database: ' . mysql_error() );
?>

By using about code we can connect to database sucessfully.

2) Write a class to create rss feed using database

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
 
class RSS
{
public function RSS()
{
require_once ('mysql_connect.php');
}
 
public function GetFeed()
{
return $this->getDetails() . $this->getItems();
}
 
private function dbConnect()
{
DEFINE ('LINK', mysql_connect (DB_HOST, DB_USER, DB_PASSWORD));
}
 
private function getDetails()
{
$detailsTable = "webref_rss_details";
$this->dbConnect($detailsTable);
$query = "SELECT * FROM ". $detailsTable;
$result = mysql_db_query (DB_NAME, $query, LINK);
 
while($row = mysql_fetch_array($result))
{
$details = '<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">
<channel>
<title>'. $row['title'] .'</title>
<link>'. $row['link'] .'</link>
<description>'. $row['description'] .'</description>
<language>'. $row['language'] .'</language>
<image>
<title>'. $row['image_title'] .'</title>
<url>'. $row['image_url'] .'</url>
<link>'. $row['image_link'] .'</link>
<width>'. $row['image_width'] .'</width>
<height>'. $row['image_height'] .'</height>
</image>';
}
return $details;
}
 
private function getItems()
{
$itemsTable = "webref_rss_items";
$this->dbConnect($itemsTable);
$query = "SELECT * FROM ". $itemsTable;
$result = mysql_db_query (DB_NAME, $query, LINK);
$items = '';
while($row = mysql_fetch_array($result))
{
$items .= '<item>
<title>'. $row["title"] .'</title>
<link>'. $row["link"] .'</link>
<description><![CDATA['. $row["description"] .']]></description>
</item>';
}
$items .= '</channel>
</rss>';
return $items;
}
 
}
 
?>

By using about code we can create a class for rss feed.

3) Create a object to class and display rss feeds.

1
2
3
4
5
6
<?php
header("Content-Type: application/xml; charset=ISO-8859-1");
include("classes/RSS.class.php");
$rss = new RSS();
echo $rss->GetFeed();
?>

Hope that it will be useful.

Share on Twitter

5 Comments to "How to create rss feeds using php and mysql"

1 | Suresh

2 de July de 2010 to ● 7:03 pm

It’s really looking great. If possible very soon i’ll give it a try…

2 | shashank

3 de July de 2010 to ● 3:09 am

deinfitely would give this a try..
thnx bro
gr8 sharE

3 | Gadget Newz

3 de July de 2010 to ● 5:40 am

[...] How to create rss feeds using php and mysql [...]

4 | wweb

3 de July de 2010 to ● 2:02 pm

Wow that’s cool. I will for sure try this :) Thanks Anil

5 | tv guy

17 de July de 2010 to ● 10:58 am

You gave great points here. I did some research on the subject and have found nearly all people agree with your blog.

Sent from my iPad 4G

Write Comment

About Me

  Anil Kumar Panigrahi
  Software Engineer (PHP)
  Blogger & Founder of Anil Labs
  Baruva, India

You can share with me . . .

My Own Contributions

1) First contribution for codeigniter framework ( multi language support using google translate API ). we can get files from http://github.com/nyros/codeigniter_multilanguage


2) Audio and Video Streaming using FFMpeg and PHP -complete doc file : http://www.docstoc.com/docs/8300349/Audio-and-Video-Streaming

Twitter Updates

Follow me @anil2u
  • We will always be thankful to our teacher for all the hard work and efforts they have put in, for educating us.- Happy teachers Day . . . :) - posted on 05/09/2010 05:39:13
  • Working on shipping cost functionality (UPS and USPS) for oscommerce shopping cart - posted on 01/09/2010 09:40:03
  • If your freedom hurts others, you are not free. You must not hurt others. - Vivekananda - posted on 31/08/2010 06:02:49
  • Another day starts with full of energy . Good Morning - posted on 31/08/2010 02:54:12
  • Nice explanation about php oops concept : http://youropensource.com/projects/182-OOPS-Concepts-in-PHP - posted on 30/08/2010 19:56:17