Sunteți pe pagina 1din 6

Cmo crear un feed RSS con MySQL y PHP

http://www.cristalab.com/tutoriales/como-crear-un-feed-rss-con-mysql...

Olvidaste tu usuario o clave?

o registrate

Foros

Blog

Tutoriales

Cursos

Videotutoriales

Comic

Publica un tutorial

Qu es Cristalab?

Tags

Ejemplos

Contctanos

Anime

Tutoriales / Cmo crear un feed RSS con MySQL y PHP

Cmo crear un feed RSS con MySQL y PHP


Por flashreloco el 20 de Marzo de 2011 con 9,178 visitas PHP, MySQL y Servidor Otros tutoriales por flashreloco.

Te puede interesar
Tutorial de instalacin de ClabServer; servidor multiusuario Crear una clase para conectar a la base de

Este es el primer tutorial que escribo en Cristalab. La creacin de un feed RSS con MySQL y PHP. Si apenas estas comenzando te recomiendo que leas Cmo crear tu propio feed RSS manualmente, que aborda el tema del formato RSS a profundidad. De todos modos si tienes idea de lo que es RSS adelante con este tip. Cabe mencionar que mis conocimientos son algos bsicos en algunas cosas, sin embargo lo que se y he aprendiendo en esta gran comunidad lo comparto con ustedes, el ejemplo que les pondr a continuacin esta basado en un ejemplo que desarroll Alejandro Suazo por el ao 2005. Este es uno de los ejemplos ms difundidos de como realizar un Feed RSS, aunque contiene algunos errores de escritura y sintaxis, todos o la mayora de esos errores los arregle y el ejemplo ya esta funcional.

datos (IV) Crear una clase para conectar a base de datos con PHP (II) Conectar PHP con MySQL Bsico

Crear un archivo XML con un resultado de MySQL en PHP Cmo hacer un login de usuarios en PHP

Uso de Flash Remoting, PHP y MySQL con clases Bases de Datos con Flash y AMFPHP

Conectar Flex, PHP, MySQL y WebORB para novatos Gua de LoadVars, desde acentos a bases de datos Regresar a los tutoriales

Entendamos qu es RSS
El feed RSS es un sencillo formato de datos que es utilizado para redifundir contenidos a suscriptores de un sitio web. El formato permite distribuir contenido sin necesidad de un navegador, utilizando un software diseado para leer estos contenidos RSS (agregador). A pesar de eso, es posible utilizar el mismo navegador para ver los contenidos RSS. Las ltimas versiones de los principales navegadores permiten leer los RSS sin necesidad de software adicional. Existen 3 formatos de RSS :

RSS (0.91) Rich Site Summary RSS (0.0 y 1.0) RDF Site Summary RSS (2.0) Really Simple Sindication

Para mas informacin sobre el RSS, pueden visitar la pgina de Wikipedia.

Cmo creamos el documento RSS?


Es muy sencillo crear un documento RSS ya que en si es un archivo XML.

1 de 6

30/08/2012 23:54

Cmo crear un feed RSS con MySQL y PHP

http://www.cristalab.com/tutoriales/como-crear-un-feed-rss-con-mysql...

El archivo debe comenzar indicando la versin de XML y la codificacin. En este caso utilizo codificacin iso-8859-1, para caracteres latinos ( o tildes). A continuacon aadimos las etiquetas de apertura y cierre <rss></rss> e indicamos la versin del tipo de documento y despus tendremos que crear un canal donde vamos a publicar nuestros contenidos . Los tres elementos siguientes son obligatorios en todo feed RSS e identifican a nuestro feed y a nuestro sitio web. En primer lugar indicaremos el ttulo de nuestro sitio, a continuacin especificamos la url donde se puede encontrar nuestra feed RSS y por ltimo una breve descripcin de lo que se puede encontrar en nuestro sitio. Despus de las tres lneas anteriores aadiremos un elemento item por cada entrada que vayamos a incluir en nuestro feed.

Cada item consta de tres elementos obligatorios: title. Que contiene el ttulo del artculo. link. Que contiene el enlace directo a la versin completa del artculo. De esta forma los suscriptores interesados podrn leer el artculo completo. description. Que contiene un resmen de lo que encontraremos en el artculo.

Y varios elementos opcionales, de los cuales utilizo nicamente dos:

pubDate. Que indica la fecha de publicacin del artculo. category. Que contiene el nombre de la categora al que pertenece el artculo.

Ejemplo:
Cdigo :

<?xml version=1.0 encoding=iso-8859-1 ?> <rss version=2.0> <channel> <item> <title>El ttulo de mi artculo 1</title> <link>http://www.mipagina.com/noticia1.html</link> <description>Resmen de la noticia</description> <pubDate>Lun, 14 Dic 2009 11:56:26 GMT</pubDate> <category>Categora</category> </item> </channel> </rss>

Ya que tenemos ms o menos claro lo que es RSS podemos poner manos a la obra y empezar a crear nuestro feed de noticias para nuestra pgina web.

Crear la base de datos


El primer paso ser crear la base de datos y aadir los datos. Si nuestra pgina ya utiliza algn tipo de base de datos para guardar los artculos no ser necesario crear otra base de datos ni tampoco hacer cambios, solamente necesitaras adecuar el script a tus necesidades.

id_noticia no es obligatorio pero a mi en lo particular me gusta manejar por nmeros los registros autor nombre del autor que publica las noticias titulo ttulo que veremos en el RSS categoria categora o tag del articulo (nos permitir organizar mejor) fecha fecha del articulo para la organizacin (los ms nuevos son los primeros) noticia nuestros artculos se guardaran en este campo

Esta sera la estructura SQL para facilitar un poco el como funciona este ejemplo:

2 de 6

30/08/2012 23:54

Cmo crear un feed RSS con MySQL y PHP

http://www.cristalab.com/tutoriales/como-crear-un-feed-rss-con-mysql...

Cdigo :

CREATE TABLE IF NOT EXISTS `noticias` ( `id_noticia` int(4) NOT NULL auto_increment, `autor` varchar(255) default NULL, `titulo` varchar(255) default NULL, `categoria` varchar(255) default NULL, `fecha` date NOT NULL, `noticia` text, KEY `id_noticia` (`id_noticia`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Para utilizar los datos genere un archivo llamado conexion donde almacenamos la informacin de nuestra BD.

Archivo: conexion.php

Cdigo :

<?php function Conectarse() { //conectamos a la base if (!($link=mysql_connect(servidor,usuario,contrasea))) { echo Error conectando a la base de datos.; exit(); } //Seleccionamos la base if (!mysql_select_db(base_de_datos,$link)) { echo Error seleccionando la base de datos.; exit(); } return $link; } ?>

Ya que tenemos nuestra tabla en nuestra base de datos, vamos a empezar a ver el script que nos genera nuestro Feed de noticias.

Archivo: rss.php

Cdigo :

<?php header('Content-type: text/xml; charset="iso-8859-1"', true); echo '<?xml version="1.0" encoding="iso-8859-1"?>'; //Aqu la conexin o archvio de conexin a la base de datos include ("noticias/conexion.php"); $link=Conectarse(); //Hacemos la consulta y la ordenamos por post para mostrar siempre el ltimo $resultado=mysql_query("select * from noticias order by id_noticia Desc",$link); //"Cortaremos" el artculo en 300 caracteres para nuestra descripcin $descripcion=substr($row[noticia],0,300)."..."; // Y generamos nuestro documento echo '<rss version="2.0">'; echo '<channel> <title>Colegio Atid</title> <link>http://www.atid.edu.mx/</link> <language>es-CL</language> <description>Noticias del Colegio Atid</description> <generator>Randy Espiritu</generator>'; while($row = mysql_fetch_array($resultado)){ echo '<item> <title>'.$row[titulo].'</title> <link>http://www.atid.edu.mx/comunidad

3 de 6

30/08/2012 23:54

Cmo crear un feed RSS con MySQL y PHP

http://www.cristalab.com/tutoriales/como-crear-un-feed-rss-con-mysql...

/news.php?id='.$row[id_noticia].'</link> <pubDate>'.$row[fecha].'</pubDate> <category>'.$row[categoria].'</category> <description><![CDATA['.$row[noticia].']]></description> </item>'; } echo' </channel> </rss>'; ?>

Podemos ver que la estructura del documento es sencilla y hasta repetitiva. Bsicamente podemos dividirlo en dos: <channel> e <item> en donde <channel> contiene a <item> . El primer bloque antes de <item> se llena con los datos de nuestro blog o web, luego bajo la etiqueta mencionada van los datos del post o noticia a mostrar. Una prctica sana es utilizar la etiqueta <content:encoded> , para proporcionar la informacin que contiene nuestro artculo completo en vez de <description> por qu?, porque los sistemas de recopilacin de feeds o lectura de estos, leen la etiqueta <description> para darle al lector un resumen de lo que trata el post. Lo menciono, porque hay sistemas de blog's que usan <description> para generar la informacin del artculo completo y no dan la opcin de ver si queremos o no seguir leyendo lo que nos ofrecen, aparte de ocupar espacio. Para estas dos etiquetas usamos la seccin XML <![CDATA[ ]]> (character data), bsicamente para que el XML no interprete ciertos caracteres como propios de su lenguaje y trate de ejecutarlos. Hay que tener cuidado al cerrar bien todas las etiquetas.

Para hacer accesible tu canal RSS debes de poner un enlace a tu archivo desde tu pgina web. Bastar con que insertes una lnea como la que se muestra a continuacin en el cdigo HTML de la pgina en la que quieras que aparezca el enlace: Nota: Recordar poner siempre type="application/rss+xml" en el enlace.

Cdigo :

<a type="application/rss+xml" href="rss.php"><img src="icono_rss.gif"></a>

Tambin debemos incluir lo siguiente entre las etiquetas <head> de nuestras pginas:
Cdigo :

<link rel="alternate" type="application/rss+xml" title="My RSS Feed" href="rss.php" />

De esta forma los navegadores (al menos los ms utilizados, Firefox e Internet Explorer, en sus ltimas versiones) detectarn que nuestro sitio tiene un feed RSS 2.0 y mostrarn un icono a los visitantes de nuestro sitio en la barra de direcciones para suscribirse directamente, en algunos navegadores viejos no se visualiza bien los feed, o tambin puede que tu servidor no reconozca este tipo de archivos. Espero les sirva este tip, se que hay muchas formas de hacerlo, pero a mi en lo particular esta forma me a funcionado, si alguen quiere hacerle mejoras seran bien recibidas. Saludos

Twittear

Me gusta

A 13 personas les gusta esto.

bases_de_datos mysql php rss xml

Envia un comentario (6)

4 de 6

30/08/2012 23:54

Cmo crear un feed RSS con MySQL y PHP

http://www.cristalab.com/tutoriales/como-crear-un-feed-rss-con-mysql...

Listar resultados de una bsqueda con PHP + MySQL para AJAX

Muro parecido a Facebook en PHP, MySQL y JQuery

Listado, bsqueda y paginacin con jquery.dataTables en PHP y Mysql

Por luco el 21 de Marzo de 2011

no veo el tutorial da error!

Por flashreloco el 23 de Marzo de 2011

Me parece que ya esta solucionado el error ya se puede ver el tutorial.

Por TeamViews el 14 de Julio de 2011

Me da este error: Nmero de lnea 10, columna 1: <?xml version="1.0" encoding="iso-8859-1"?><br /> ^

Por piven el 10 de Noviembre de 2011

como es o mas que tiene el archivo news.php??

Por Ruben el 01 de Febrero de 2012

Me funciono de maravillas gracias hermano!

Por Gon el 19 de Marzo de 2012

Gracias por compartirlo, me fue de mucha utilidad

Publica tu comentario
Tu nombre: S respetuoso. S detallado. Tu comentario: No escribas con mayusculas ni como si fuera un SMS. Insultos, trolls y spammers son siempre eliminados.

o puedes...
Ests registrado en Cristalab y quieres publicar tu URL y avatar?

No ests registrado an pero quieres hacerlo antes de publicar tu comentario?

5 de 6

30/08/2012 23:54

Cmo crear un feed RSS con MySQL y PHP

http://www.cristalab.com/tutoriales/como-crear-un-feed-rss-con-mysql...

[b]negrita[/b] [img]http://url/imagen.jpg[/img] [url=direccion]tu enlace[/url]

Blog

Foros

Tutoriales

Tutoriales de Flash

Ejemplos .fla

Anime

Videotutoriales

Cursos

Curso de Flash

Curso de HTML

Tags

Cristalab.org

Cristalab

Sube imgenes y fotos

Consejos de amor

dotGaia.com

Puls3.com

6 de 6

30/08/2012 23:54

S-ar putea să vă placă și