Este ejemplo muestra el código que he utilizado para realizar un RSS dinámico para un blog de una tienda online realizada con Opencart que no tenía RSS.
El fichero que crea es un xml, similar a este:
Y el código, es bastante sencillo, en este caso realizamos una conexión a la base de datos y después recuperamos tres campos, el titulo, el link y la descripción que irá en el texto de la noticia.
Solo tienes que cambiar la conexión a la base de datos y preparar la select que necesitas para recuperar esos tres campos, los otros datos tienes que poner los literales que quieras utilizar para tu RSS.
En este fichero está todo junto, tanto la conexión a la base de datos como la creación del RSS, aunque lo lógico sería tener un fichero dónde este la conexión a la base de datos y desde aquí llamarlo. Obviamente funciona igual de ambas maneras.
<!--?php header("Content-Type: application/rss+xml; charset=iso-8859-1"); ?--> <!--?xml?--> http://www.mysexshop.es Las mejores noticias de tu sexshop favorito <!--?php DEFINE ('USUARIO_BD', 'usuario'); DEFINE ('CLAVE_BD', 'clave'); DEFINE ('HOST_BD', 'localhost'); DEFINE ('NOMBRE_BD', 'labasededatos'); $conexion = mysql_connect(HOST_BD, USUARIO_BD, CLAVE_BD) or die ('No se pudo conectar a la BD'); mysql_select_db(NOMBRE_BD) or die ('No se pudo seleccionar la BD'); $consulta = "SELECT ld.title titulo, ld.meta_description detalle, CONCAT('http://www.mysexshop.es/',n.keyword) enlace FROM LatestNews l, LatestNews_description ld, (select SUBSTRING(query, 15) id_noticia, keyword from url_alias where lower (query) like 'latestnews_id=%') n where ld.latestnews_id = l.latestnews_id and n.id_noticia = l.latestnews_id ORDER BY l.date_added DESC"; $resultado = mysql_query($consulta) or die ('Error al ejecutar la consulta'); while ($fila = mysql_fetch_array($resultado, MYSQL_ASSOC)){ echo '<item--> '.$fila['enlace'].' '.$fila['enlace'].' '.$fila['detalle'].' '; } ?> |