FRIHOSTFORUMSFAQTOSBLOGSDIRECTORY
You are invited to Log in or Register a Frihost Account!

[tutorial]Crear RSS en nuestra web dinamico con php+mysql

 


fribos


¿Que son los feed o RSS?

Wikipedia wrote:
Una fuente web (usualmente web feed) es un formato de datos para suministrar información actualizada frecuentemente. En su jerga, cuando una página web "sindica" una fuente, los internautas pueden "suscribirse" a ella para estar informados de sus novedades. Los interesados pueden usar un programa "agregador" para acceder a sus fuentes suscritas desde un mismo lugar.

Técnicamente, se emplea para denominar a los documentos con formato RSS o Atom, basados en lenguaje XML.

Son muy utilizados en las bitácoras de Internet, así como en prensa electrónica. Cada día hay más medios que utilizan este sistema de sindicación web. La gran difusión de este tipo de servicio web ha estimulado el interés en otros sectores que comienzan a ver en las fuentes RSS una forma efectiva de difundir y compartir información empresarial.


Como Hacerlo en nuestra web

Haremos lo sgte, tomaremos de nuestra DB los datos, y generaremos mediante php un documento XML dinamico, esto quiere decir que si la información y los datos en la DB cambian los feed o rss, (docuemto XML) cambiaran tambien.

Cuerpo XML wrote:

<rss version="2.0"> //inicio del documento
<channel>

//DATOS DE NUESTRO SITIO
<title>Mi Web - Ultimos Post</title> //TITULO DE MI WEB
<link>http://www.miweb.com/</link> //DIRECCION DE MI WEB
<description>Descripcion de mi sitio</description> //DESCRIPCION DE MI WEB.

<item> //COMIENZO DE UN POST, O ITEM
<title>Megapost juegos pc FULL</title> //TITULO DEL POST O ITEM
<link>http://www.MIWEB.com/verpost.asp?ID=49157</link> //DIRECCION DEL POST
<description> //DESCRIPCION DEL POST
Aqui puedo poner la descrpcion de mi post, o
directamente el contenido de mi post. y todo lo que quiera
</description>
</item>

</channel>
</rss>



Codigo en PHP:
Codigo php wrote:

<?
// Parametros de conexion a MySQL
$db_server = 'localhost';
$db_user = 'usuario';
$db_pass = 'contrasena';

// Conexion a la base de datos
$conexion = mysql_connect($db_server,$db_user,$db_pass);
mysql_select_db("basedatos", $conexion);

$sql = "SELECT * FROM noticias";// consulta SQL
$result = mysql_query($sql, $conexion);// realiza la consulta
$item = mysql_fetch_assoc($result)// guarda los datos en la variable $result

// Header para escribir XML
header('Content-type: text/xml; charset="iso-8859-1"', true);

// Escribimos el archivo RSS
echo '<?xml version="1.0" encoding="iso-8859-1"?>';// esta linea no me andubo, se la saque e igual anda

echo
'<rss version="2.0">// datos de la pagina
<channel>
<docs>http://miweb.com/rss</docs>
<language>es</language>
<managingEditor>mimail@gmail.com</managingEditor>
<webMaster>mimail@yahoo.com</webMaster>
';

do { // hacemos un bucle para recorrer la variable $result que tiene los datos de la consulta sql
echo "<item>" ;
echo "<title>".$item['titulo']."</title>" ;//traemos el titulo
echo "<link>http://miweb.com/verpost?id=".$item['id']."</link>";// creamos el link del post (es hacia la pagina real)
echo "<description><![CDATA[".$item['contenido']."]]></description>";// aqui ponemos el contenido del post
echo "</item>";
} while ($item = mysql_fetch_assoc($result));// hacemos un bucle para recorrer la variable $result que tiene los datos de la consulta sql

echo "</channel>";
echo "</rss>";
?>


Explicacion plus:
Quote:
<![CDATA[".$item['contenido']."]]>

Lo que permite el cdata, (resaltado con naranja), es parsear codigo HTML, osea... que si la variable $item['contenido'] tiene etiquetas html no produciran error, sino que ademas seran tomadas en cuenta para el parseo.

por ende permite un parseo con imagenes y texto enriquecido.


ejemplo link:http://sitiotemporal.com.ar/detodo/rss.php
descargar codigo:http://sitiotemporal.com.ar/rss.rar

fuente:http://blog.unijimpe.net/crear-un-rss-en-php/
dreamshunter
muy interesante.

yo utilizo feedburner, que es más fácil de administrar y meter publicidad si hace falta, pero está muy bien conocer la manera tradicional para crearlos, sobre todo si usas un cms que no lo tenga, o un código propio directamente a mano. o un código propio.
fribos
hola dreamshunter, claro..... el problema surgio en un sistema que estaba haciendo a mano, codigo, codigo, codigo, codigo, .... y no podia crear un archivo .XML estatico, necesitaba algo dinamico con php... que exportara los datos desde la DB....

una vez que que logre esto, lo suscribi a feed burner para tener el contador, las publicidades y todos los chiches, pero primero necesitaba tener una sindicacion.
Reply to topic    Frihost Forum Index -> Language Forums -> Spanish

FRIHOST HOME | FAQ | TOS | ABOUT US | CONTACT US | SITE MAP
© 2005-2007 Frihost, forums powered by phpBB.