Foros del Web » Programación para mayores de 30 ;) » Programación General »

RSS en php

Estas en el tema de RSS en php en el foro de Programación General en Foros del Web. Hola He parendido a crear Rss de la siguiente forma: Mi pregunta es: ¿cómo puedo hacer para insertar php en este código para que los ...
  #1 (permalink)  
Antiguo 22/11/2007, 11:30
 
Fecha de Ingreso: septiembre-2006
Mensajes: 233
Antigüedad: 18 años, 2 meses
Puntos: 0
RSS en php

Hola

He parendido a crear Rss de la siguiente forma:

Mi pregunta es:

¿cómo puedo hacer para insertar php en este código para que los noticias se actualicen automticamente a partir de mi base de datos MySql?


<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">

<channel>
<title>RSS Guia Facil</title>
<link>http://es.geocities.com/rss_guia_facil</link>
<description>Guia fácil y sencilla sobre el formato RSS</description>

<item>
<title>Qué es el RSS</title>
<link>http://es.geocities.com/rss_guia_facil/que_es_rss.html</link>
<description>Visita la Guía Fácil del RSS para saber qué es el
formato RSS</description>
</item>

<item>
<title>Para qué sirve el RSSl</title>
<link>http://es.geocities.com/rss_guia_fac...sirve_rss.html
</link>
<description>Visita la Guía Fácil del RSS y conoce para qué sirve el
formato RSS</description>
</item>

<item>
<title>Cómo se usa el RSS</title>
<link>http://es.geocities.com/rss_guia_fac...e_usa_rss.html
</link>
<description>Visita la Guía Fácil del RSS para saber cómo usar el
formato RSS</description>
>/item>

</channel>
</rss>
  #2 (permalink)  
Antiguo 23/11/2007, 03:23
Avatar de rasmarko  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 78
Antigüedad: 22 años
Puntos: 1
Re: RSS en php

Para que un archivo .xml interprete codigo PHP necesitas poner, si usasApache, en tu htaccess:

AddType application/x-httpd-php .xml

Luego guarda tu archivo con extensión .xml y similar al siguiente contenido:

Cita:
<?
header("Content-Type: text/xml; charset=UTF-8");
echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';
?>
<rss version="2.0">

<channel>
<title>RSS Guia Facil</title>
<link>http://es.geocities.com/rss_guia_facil</link>
<description>Guia fácil y sencilla sobre el formato RSS</description>

<?

$sql = "SELECT * FROM ...";
$resource = mysql_query($sql);

while($campos = mysql_fetch_array($resource)) {
?>
<item>
<title><?=$campos['titulo']?></title>
<link><?=$campos['link']?></link>
<description><?=$campos['descripcion']?></description>
</item>
<? } ?>

</channel>
</rss>
Te recomiendo que verifiques tambien el estandar del RSS 2.0, hay etiquetas obligatorias que no haz puesto, guiate con esta Genial página de validación Feed:
http://www.feedvalidator.org

Mucha suerte!
__________________
Fuentes - Diseweb - Frases Célebres
  #3 (permalink)  
Antiguo 23/11/2007, 03:25
Avatar de rasmarko  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 78
Antigüedad: 22 años
Puntos: 1
Re: RSS en php

bueno tuve un errorcillo con el header UTF-8 jeje, sólo cambialo al charset verdadero :D
__________________
Fuentes - Diseweb - Frases Célebres
  #4 (permalink)  
Antiguo 23/11/2007, 09:35
 
Fecha de Ingreso: septiembre-2006
Mensajes: 233
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: RSS en php

Perdona mi torpeza.
¿me puedes explicar donde va eso de...?
Para que un archivo .xml interprete codigo PHP necesitas poner, si usasApache, en tu htaccess:

AddType application/x-httpd-php .xml
  #5 (permalink)  
Antiguo 23/11/2007, 12:59
Avatar de rasmarko  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 78
Antigüedad: 22 años
Puntos: 1
Re: RSS en php

Crea un archivo llamado .htaccess en donde está tu carpeta raíz, y dentro de ese archivo pegas lo que te puse. Para crearlo puedes tener problemas con windows pues lo considera un archivo sin nombre lo cual no te o crea.
Ejecuta este código PHP aparte para que te lo genere:

Cita:
<?php
touch(".htaccess");
?>

Que tengas muy bien dia ^^
__________________
Fuentes - Diseweb - Frases Célebres
  #6 (permalink)  
Antiguo 23/11/2007, 13:03
Avatar de rasmarko  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 78
Antigüedad: 22 años
Puntos: 1
Re: RSS en php

Ahhh pero tambien si te cansas mucho jeje puedes ejecutar el siguiente codigo PHP para que te genere el archivo .htaccess con los comandos que te puse:

Código PHP:
<?php
$pt 
fopen".htaccess""w" );
fwrite("AddType application/x-httpd-php .xml \n"$pt);
fclose($pt);
?>
Saludos, esperemos no tengas problemas ya
__________________
Fuentes - Diseweb - Frases Célebres
  #7 (permalink)  
Antiguo 24/11/2007, 10:08
 
Fecha de Ingreso: septiembre-2006
Mensajes: 233
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: RSS en php

Hola
Ante todo gracias por la ayuda.
Te comento los problemas que me han surguido.
He cambiado el htaccess pero no parece resultar.
Si pongo todo el código exceptuando:
<?
header("Content-Type: text/xml; charset=UTF-8");
echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';
?>

En mi navegador funciona todo perfectamente, pero el validador que me dijiste me suelta estos errores: (yo entiendo que los errores que da son debido a las palabras acentuadas)
This feed does not validate.

*

line 5, column 17: 'utf8' codec can't decode bytes in position 121-123: invalid data (maybe a high-bit character?) [help]

<description>P?na web de Doctor Deseo</description>
^

In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

*

Feeds should not be served with the "text/html" media type [help]


*

line 5, column 16: description contains bad characters [help]

<description>P?na web de Doctor Deseo</description>
^

*

line 19, column 129: description contains bad characters (10 occurrences) [help]

... programa Graffiti de Radio Euskadi, aqu?eneis un enlace para escucharla ...
  #8 (permalink)  
Antiguo 24/11/2007, 12:27
Avatar de rasmarko  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 78
Antigüedad: 22 años
Puntos: 1
Re: RSS en php

debes poner esto:

<?
header("Content-Type: text/xml; charset=UTF-8");
echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';
?>

Dime qué error te sale cuando lo pones?
__________________
Fuentes - Diseweb - Frases Célebres
  #9 (permalink)  
Antiguo 25/11/2007, 10:36
 
Fecha de Ingreso: septiembre-2006
Mensajes: 233
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: RSS en php

Si le pongo esas lineas el error es el siguiente:

Sorry

This feed does not validate.

*

line 5, column 17: 'utf8' codec can't decode bytes in position 165-167: invalid data (maybe a high-bit character?) [help]

<description>P?na web de Doctor Deseo</description>
^

In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

*

Your feed appears to be encoded as "ISO-8859-1", but your server is reporting "UTF-8" [help]


*

line 5, column 16: description contains bad characters [help]

<description>P?na web de Doctor Deseo</description>
^

*

line 19, column 129: description contains bad characters (10 occurrences) [help]

... programa Graffiti de Radio Euskadi, aqu?eneis un enlace para escucharla ...
  #10 (permalink)  
Antiguo 25/11/2007, 15:02
Avatar de rasmarko  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 78
Antigüedad: 22 años
Puntos: 1
Re: RSS en php

jejeje sorry
debes poner este:

<?
header("Content-Type: text/xml; charset=ISO-8859-1");
echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';
?>
__________________
Fuentes - Diseweb - Frases Célebres
  #11 (permalink)  
Antiguo 26/11/2007, 01:00
 
Fecha de Ingreso: septiembre-2006
Mensajes: 233
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: RSS en php

Muchas gracias.
Ahora sí.

Un saludo muy fuerte.
  #12 (permalink)  
Antiguo 26/11/2007, 14:42
Avatar de rasmarko  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 78
Antigüedad: 22 años
Puntos: 1
Re: RSS en php

Oki, que bueno que te funcionó, felicidades
__________________
Fuentes - Diseweb - Frases Célebres
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:54.