problema generando RSS con PHP

Iniciado por viher, 22 Septiembre 2010, 21:44 PM

0 Miembros y 1 Visitante están viendo este tema.

viher

hola,tengo el siguiente código que he conseguido googleando.

Código (php) [Seleccionar]
<?php
//creo cabeceras desde PHP para decir que devuelvo un XML
header("Content-type: text/xml");
echo 
"<?xml version=\"1.0\" encoding=\"utf-8\"?>
";
//conecto con la base de datos
$Servidor = "localhost";
$usuario = "root";
$clave = "pass";
$bbdd = "db";
$connectid = mysql_connect($Servidor, $usuario, $clave);
mysql_select_db($bbdd);

//sentencia SQL para acceder a los últimos 20 artículos publicados
$ssql = "select * from videos order by id desc limit 10";
$result = mysql_query($ssql);
//Cabeceras del RSS
echo '<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">';
//Datos generales del Canal. Edítalos conforme a tus necesidades
echo "<channel>\n";
echo "<title>web.com</title>";
echo "<link>http://www.web.com/rss.php</link>";
echo "<description>Mostrando todos los últimos de la web:</description>";
echo "<language>es-es</language>";
echo "<copyright>web.com</copyright>\n";

//para cada registro encontrado en la base de datos
//tengo que crear la entrada RSS en un item
  while($row = mysql_fetch_array($result)){
   $url = $row["id"];
$imagen = $row['img'];
$nombre = $row['nombre'];
$dur = "<font size=-2>".$row['dur']."</font>"; }

  echo "<item>\n";
  echo "<title>".$imagen."</title>\n";
  echo "<description>".$nombre."</description>\n";
  echo "<link>".$dur."</link>\n";
  echo "</item>\n";

//cierro las etiquetas del XML
echo "</channel>";
echo "</rss>";
?>


el caso es que no me da error por ningún lado,pero no me carga el contenido de los <item> a la hora de hacer la consulta,les dejo una screen:

http://img842.imageshack.us/img842/7537/rssz.jpg

gracias por la ayuda!

Shell Root

Supongo que debería se así,
Código (php) [Seleccionar]
while($row = mysql_fetch_array($result)){
  echo "<item>".$row['id']."</item>\n";
  echo "<title>".$row['img']."</title>\n";
  echo "<description>".$row['img']."</description>\n";
  echo "<font size='-2'>".$row['dur']."</font>\n";
}
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

viher

#2
solucionado!

era que la etiqueta </item> tenia que ir al final:

Código (php) [Seleccionar]
<?php
//creo cabeceras desde PHP para decir que devuelvo un XML
header("Content-type: text/xml");
echo 
"<?xml version=\"1.0\" encoding=\"utf-8\"?>
";
//conecto con la base de datos
$Servidor = "localhost";
$usuario = "root";
$clave = "pss";
$bbdd = "bdd";
$connectid = mysql_connect($Servidor, $usuario, $clave);
mysql_select_db($bbdd);

//sentencia SQL para acceder a los últimos 20 artículos publicados
$ssql = "select * from videos order by id desc limit 10";
$result = mysql_query($ssql);
//Cabeceras del RSS
echo '<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">';
//Datos generales del Canal. Edítalos conforme a tus necesidades
echo "<channel>\n";
echo "<title>web.com</title>";
echo "<link>http://www.web.com/rss.php</link>";
echo "<description>Mostrando todos los últimos de la web:</description>";
echo "<language>es-es</language>";
echo "<copyright>web.com</copyright>\n";

//para cada registro encontrado en la base de datos
//tengo que crear la entrada RSS en un item
while($row = mysql_fetch_array($result)){
 echo "<item>".$row['id']."\n";
 echo "<title>".$row['img']."</title>\n";
 echo "<description>".$row['img']."</description>\n";
 echo $row['dur']."</item>";
}

//cierro las etiquetas del XML
echo "</channel>";
echo "</rss>";
?>

viher

#3
ahora el problema que tengo es que no me muestra las imagenes:

Código (php) [Seleccionar]
<?php
//creo cabeceras desde PHP para decir que devuelvo un XML
header("Content-type: text/xml");
echo 
"<?xml version=\"1.0\" encoding=\"utf-8\"?>
";
//conecto con la base de datos
$Servidor = "localhost";
$usuario = "root";
$clave = "pass";
$bbdd = "bd";
$connectid = mysql_connect($Servidor, $usuario, $clave);
mysql_select_db($bbdd);

//sentencia SQL para acceder a los últimos 20 artículos publicados
$ssql = "select * from videos order by id desc limit 10";
$result = mysql_query($ssql);
//Cabeceras del RSS
echo '<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">';
//Datos generales del Canal. Edítalos conforme a tus necesidades
echo "<channel>\n";
echo "<title>web.com</title>";
echo "<link>http://www.web.com/rss.php</link>";
echo "<description>Mostrando todos los últimos de la web:</description>";
echo "<language>es-es</language>";
echo "<copyright>web.com</copyright>\n";

//para cada registro encontrado en la base de datos
//tengo que crear la entrada RSS en un item
while($row = mysql_fetch_array($result)){
   $imagen = $row['img'];
 echo "<item>";
 echo "<title>".$row['nombre']."</title>\n";
 echo "<description>";
 echo "<img src='".$imagen."' height='180' width='135' />";
 echo "</description>\n";
 echo "<link>http://www.web.com/video.php?id=".$row['id']."</link>";
 echo "</item>";
}

//cierro las etiquetas del XML
echo "</channel>";
echo "</rss>";
?>



Shell Root

Pon un registro completo, para ver como esta la estructura de la imagen. Supongo que esta la URL, pero de que forma?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

viher

el registro "img" es una direccion,es decir, "http://www.web.com/imagen.jpg" pero no me carga en el RSS.Mientras que en las demás páginas funciona correctamente.

Shell Root

Lo decía por esto, hay que ver, como esta seteado el valor. Cuando ejecutas el index.php, vez el código fuente, puedes ver como se muestra el valor de imagen. Mostradlo!

Código (php) [Seleccionar]
   $sArray = array('http://localhost/PoC/FuckYou.jpg', 'localhost/PoC/FuckYou.jpg', '"http://localhost/PoC/FuckYou.jpg"');

   foreach ($sArray as $sValue){
       echo '<table><tr>';
       echo "<td><img src='".$sValue."' height='180' width='135' /></td><td>img src='".$sValue."' height='180' width='135'</td>";
       echo '</tr></table>';
   }


Resultado,
Código (html4strict) [Seleccionar]

SI IMG | <img src='http://localhost/PoC/FuckYou.jpg' height='180' width='135' />
NO IMG | <img src='localhost/PoC/FuckYou.jpg' height='180' width='135' />
NO IMG | <img src='"http://localhost/PoC/FuckYou.jpg"' height='180' width='135' />
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

viher

#7
la cosa es que no se ven la imagenes con el code que te puse anteriormente,pero si miras el codigo fuente es el siguiente:

<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel>
<title>web.com</title><link>http://www.web.com/rss.php</link><description>Mostrando todos los últimos de la web:</description><language>es-es</language><copyright>web.com</copyright>
<item><title>Amy Reid super cachonda</title>
<description><img src='http://img100.xvideos.com/videos/thumbs/f/e/5/fe5692777a98a6aab16d54f8bc04f4b5.14.jpg' height='180' width='135' /></description>
<link>http://www.web.com/video.php?id=474</link></item><item><title>Amy Reid trio lesbico</title>
<description><img src='http://km-pics.phncdn.com/thumbs/000/442/406/small12.jpg?cache_control=255285' height='180' width='135' /></description>
<link>http://www.web.com/video.php?id=473</link></item><item><title>Amy Reid en un puti de lesbianas</title>

<description><img src='http://img100.xvideos.com/videos/thumbs/9/f/6/9f61463ef0f8f534c92b9487ee0ee3a8.26.jpg' height='180' width='135' /></description>
<link>http://www.web.com/video.php?id=472</link></item><item><title>Amy Reid masturbandose</title>
<description><img src='http://img100.xvideos.com/videos/thumbs/e/6/7/e6758de126eb732a89bed7b6c0ec29c3.15.jpg' height='180' width='135' /></description>
<link>http://www.web.com/video.php?id=471</link></item><item><title>Amy Reid policia caliente</title>
<description><img src='http://img100.xvideos.com/videos/thumbs/5/a/8/5a8c6aeddb1aa1f3ca78953e2183416e.13.jpg' height='180' width='135' /></description>
<link>http://www.web.com/video.php?id=470</link></item><item><title>Amy reid follando llena de aceite</title>
<description><img src='http://img100.xvideos.com/videos/thumbs/4/7/7/4777e90ec44170832182181cd645291b.14.jpg' height='180' width='135' /></description>
<link>http://www.web.com/video.php?id=469</link></item><item><title>Amy Reid escena lesbica</title>
<description><img src='http://img100.xvideos.com/videos/thumbs/3/4/d/34ddfec22de5a9cd68a3f4cd98691bcf.23.jpg' height='180' width='135' /></description>

<link>http://www.web.com/video.php?id=468</link></item><item><title>Amy Reid sexy</title>
<description><img src='http://img100.xvideos.com/videos/thumbs/6/5/3/6532dcaf274603152aa56368cc64de59.20.jpg' height='180' width='135' /></description>
<link>http://www.web.com/video.php?id=467</link></item><item><title>Amy reid follando en el jardin</title>
<description><img src='http://img100.xvideos.com/videos/thumbs/c/2/1/c21ff05980a43d84c85227119bfe430a.11.jpg' height='180' width='135' /></description>
<link>http://www.web.com/video.php?id=466</link></item><item><title>Amy reid gran follada</title>
<description><img src='http://img100.xvideos.com/videos/thumbs/3/d/1/3d1c69ca48f849e25c7f7bb4ff7b3c0b.18.jpg' height='180' width='135' /></description>
<link>http://www.web.com/video.php?id=465</link></item></channel></rss>


cual es el problema?

Debci

Que interesantes los links...

Saludos

Shell Root

#9
Pues a ver, como es la estructura de XML, así?

Código (xml) [Seleccionar]
<?xml version="1.0" encoding="utf-8"?>
 <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
   <channel>
     <title></title>
     <link></link>
     <description></description>
     <language></language>
     <copyright></copyright>
   </channel>
 </rss>

En otra parte vi,
Código (xml) [Seleccionar]
      <item>
        <title>Amy Reid super cachonda</title>
        <description>
        <img src='http://img100.xvideos.com/videos/thumbs/f/e/5/fe5692777a98a6aab16d54f8bc04f4b5.14.jpg' height='180' width='135' /></description>
        <link>http://www.web.com/video.php?id=474</link>
      </item>
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.