lunes, 9 de abril de 2012

Hacer un Feed RSS con PHP



En esta ocasión veremos como crear un Feed RSS con PHP, antes de nada si no sabeis que es un Feed RSS os sugiero que le echeis un vistazo a la wikipedia http://es.wikipedia.org/wiki/RSS.

El Feed RSS es muy necesario para que tu sitio web sea tomado en cuenta por los buscadores como Google, ya que constantemente tendrá información nueva y tus seguidores podrán suscribirse a tu sitio, es muy utilizado por los bloggers.

A continuación puedes ver un sencillo ejemplo de como crear un Feed RSS ... 

Feed RSS

La base de datos que yo he creado para el ejemplo se llama "blog", contiene una tabla llamada "posts" con cuatro campos "titulo" - "descripcion" - "link" - "fecha". He añadido tres filas, cada una simulando un post de mi blog ficticio.

El archivo se llama rss.php ...

 <?php
/* By http://php-estudios.blogspot.com */

//Datos de conexión.
$mysql_usuario = "root";
$mysql_password = "pass";
$mysql_host = "localhost";
$mysql_database = "blog";

//Asignar datos de conexión
$conexion = mysql_connect($mysql_host, $mysql_usuario, $mysql_password, true);

//Seleccionar la base datos y la conexión.
mysql_select_db($mysql_database, $conexion) or die('No pudo conectarse: '.mysql_error());


//Hacer la consulta
$consulta = "SELECT titulo, descripcion, link, fecha FROM posts";

//Ejecutar la consulta
$resultado = mysql_query($consulta);

//Abrir el archivo XML
echo "<?xml version='1.0' encoding='iso-8859-1' ?>";
?>
<rss version="2.0">
<channel>
<title>Título de tu Página Web</title>
<description>Descripción de tu Página Web</description>
<link>http://www.TuPaginaWeb.com</link>
<lastBuildDate><?php echo date('r') ?> </lastBuildDate>
<?php

//Extraer todos los posts de la tabla
 while ($fila = mysql_fetch_array($resultado))
{
echo "<item>\n";
echo "<title>".$fila[0]."</title>\n";
echo "<description>".$fila[1]."</description>\n";
echo "<link>http://www.TuPaginaWeb.com/".$fila[2]."</link>\n";
echo "<pubDate>".$fila[3]."</pubDate>\n";
echo "</item>\n";
}
?>
</channel>
</rss>



No hay comentarios: