Foros del Web » Programando para Internet » PHP »

Problema con feed programado en php

Estas en el tema de Problema con feed programado en php en el foro de PHP en Foros del Web. Hola, tengo un problema con este feed hecho en php y es que no me deja poner mas de 1 item en el rss. Este ...
  #1 (permalink)  
Antiguo 03/08/2010, 10:34
 
Fecha de Ingreso: febrero-2009
Mensajes: 202
Antigüedad: 15 años, 10 meses
Puntos: 3
Problema con feed programado en php

Hola,
tengo un problema con este feed hecho en php y es que no me deja poner mas de 1 item en el rss. Este es el code que estoy usando:

Código PHP:
<?
header
('Content-Type: text/xml'); 
echo 
'<?xml version="1.0" encoding="iso-8859-1"?>';
echo 
"<rss version='2.0'>
<channel>"
;
?>

<?
mysql_connect
("****","****","****") or die("No puede conectarse");
mysql_select_db("****") or die("La base de datos no existe");
$getnews mysql_query("SELECT * FROM news ORDER BY id DESC") or die ("La tabla no existe");
$row=mysql_fetch_array($getnews);

echo 
"
<item>
<title>$row[title]</title>
<link>http://www.youtube.com/watch?v=$row[direccion]</link>
<description>$row[body]</description>
</item>
"
;
?>

<?
echo "</channel></rss>";
?>
Los datos los estoy enviando con este code:
Código PHP:
<html>
<h1>Escribir noticia</h1>
<hr>

<?php

if($_POST['post'])
{

$title $_POST['title'];
$body $_POST['body'];
$direccion $_POST['direccion'];

if (
$title&&$body&&$direccion)
{

mysql_connect("****","****","****") or die("No puede conectarse");
mysql_select_db("****") or die("La base de datos no existe");


$insert mysql_query("INSERT INTO news VALUES ('','$title','$body','$direccion')") or die("No se ha podido recopilar la información necesaria");

die (
"La noticia ha sido publicada exitosamente!");

}
else
echo 
"Por favor complete los campos solicitados<br>";

}

?>

<form action='post.php' method='POST'>
    Título del video: <br>
    <input type='text' name='title'><br>
    Descripcion del video: <br>
    <textarea rows='6' cols='35' name='body'></textarea><br>
    Direccion del video: <br>
    <input type='text' name='direccion'><br>    
    <input type='submit' name='post' value='Enviar noticia'>
    
</form>

<hr>
</html>
Les agradezco mucho si pueden darme una mano.

Un saludo!

Última edición por Ozone; 03/08/2010 a las 11:18
  #2 (permalink)  
Antiguo 03/08/2010, 13:13
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Problema con feed programado en php

y yo pregunto: ¿donde está el ciclo que recorre los registros?, sin un while o al menos un for es obvio que solo genere el primer registro, éste no se recorre solo
  #3 (permalink)  
Antiguo 04/08/2010, 11:52
 
Fecha de Ingreso: febrero-2009
Mensajes: 202
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Problema con feed programado en php

Ah claro, tenés razón. Mirá probé así:

Código PHP:
<?
header
('Content-Type: text/xml'); 
echo 
'<?xml version="1.0" encoding="iso-8859-1"?>';
echo 
"<rss version='2.0'>
<channel>"
;
?>

<?
mysql_connect
("*****","*****","*****") or die("No puede conectarse");
mysql_select_db("*****") or die("La base de datos no existe");
$getnews mysql_query("SELECT * FROM news ORDER BY id DESC") or die ("La tabla no existe");
while (
$row mysql_fetch_assoc($getnews))
{
$row=mysql_fetch_array($getnews);
echo 
"
<item>
<title>$row[title]</title>
<link>http://www.youtube.com/watch?v=$row[direccion]</link>
<description>$row[body]</description>
</item>
"
;
}
?>

<?
echo "</channel></rss>";
?>
Pero solo me muestra 3 de 7, en que la estoy pifiando?

Gracias!
  #4 (permalink)  
Antiguo 05/08/2010, 08:34
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 16 años, 4 meses
Puntos: 105
Respuesta: Problema con feed programado en php

estas que te confundes en el $row...

prueba asi mi estimado:

Código PHP:
Ver original
  1. <?php
  2. header('Content-Type: text/xml');
  3. echo '<?xml version="1.0" encoding="iso-8859-1"?>';
  4. echo "<rss version='2.0'>
  5. <channel>";
  6.  
  7. mysql_connect("*****","*****","*****") or die("No puede conectarse");
  8. mysql_select_db("*****") or die("La base de datos no existe");
  9. $getnews = mysql_query("SELECT * FROM news ORDER BY id DESC") or die ("La tabla no existe");
  10. while ($row=mysql_fetch_array($getnews)){
  11. echo "
  12. <item>
  13. <title>".$row['title']."</title>
  14. <link>http://www.youtube.com/watch?v=".$row['direccion']."</link>
  15. <description>".$row['body']."</description>
  16. </item>
  17. ";
  18. }
  19.  
  20. echo "</channel></rss>";
  21. ?>

Suerte
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #5 (permalink)  
Antiguo 06/08/2010, 17:08
 
Fecha de Ingreso: febrero-2009
Mensajes: 202
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Problema con feed programado en php

Gracias maestro, estoy aprendiendo y se me confunde a veces, gracias!

Un saludo!

Etiquetas: feed
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 10:06.