Foros del Web » Programando para Internet » PHP »

No Puedo Generar Un XML con varios Registro Extraidos de Una Base de Datos!

Estas en el tema de No Puedo Generar Un XML con varios Registro Extraidos de Una Base de Datos! en el foro de PHP en Foros del Web. Hola buenaz nochez bueno he estado.. tratando de poder generar un XML desde una CONSULTA MYSQL y que me guarde el archivo en un XML.. ...
  #1 (permalink)  
Antiguo 21/04/2009, 19:00
 
Fecha de Ingreso: noviembre-2008
Mensajes: 150
Antigüedad: 15 años, 5 meses
Puntos: 1
Pregunta No Puedo Generar Un XML con varios Registro Extraidos de Una Base de Datos!

Hola buenaz nochez bueno he estado.. tratando de poder generar un XML desde una CONSULTA MYSQL y que me guarde el archivo en un XML.. en el MISMO DIRECTORIO DEL PHP.. pero solo me imprime el ULTIMO REGISTRO.. porque sera o estoy haciendo algo mal Aki esta el CODIGO:

Código PHP:
<?php

$consulta2 
="select artista, cancion, url from canciones where genero='Cumbia'";
$resultado2=mysql_query($consulta2);
$num_resultados2 mysql_num_rows($resultado2);
?>
<?php
if(!$num_resultados2
{
echo 
"<BR><span class=\"flames\"><font color=\"#FF6600\">No Hay Resultados ."</b></font><BR></span>";
}
else
{
    while($row=mysql_fetch_array($resultado2)){;

$buffer = '<?xml version="
1.0" encoding="UTF-8"?>
<songs>
<song path="'.stripslashes($row["url"]).'" artist="'.stripslashes($row["artista"]).'" title="'.stripslashes($row["cancion"]).'" /> 
</songs>
';
 }
        $name_file="
list.xml"; 
       $file=fopen($name_file,"
w+"); 
       fwrite ($file,$buffer); 
       fclose($file); 
  } 
?>
Por favor diganme en donde estoy haciendo mal AYUDA!!

Última edición por keygen20; 21/04/2009 a las 19:32
  #2 (permalink)  
Antiguo 21/04/2009, 19:05
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Ayuda!! No Puedo Generar Un XML con varios Registro Extraidos de Una Base

Vas sobreescribiendo la variable $buffer una y otra vez en el bucle.

Lo que tienes que hacer es setearla:
$buffer = '<?xml version="1.0" encoding="UTF-8">
<songs>';

Luego en cada vuelta del bucle vas imprimiendo la etiqueta <song>
Usando .= para CONCATENAR (no sobreescribir).

Luego al final del bucle, cierras el archivo XML.

$buffer .= '</songs>';

Y luego escribes el archivo usando fopen, fwrite y fclose.
  #3 (permalink)  
Antiguo 21/04/2009, 19:12
 
Fecha de Ingreso: noviembre-2008
Mensajes: 150
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Ayuda!! No Puedo Generar Un XML con varios Registro Extraidos de Una Base

MM bueno disculpa.. entiendo lo del header del XML pero no entendi..esto :

Cita:
Luego en cada vuelta del bucle vas imprimiendo la etiqueta <song>
Usando .= para CONCATENAR (no sobreescribir).
Como imprimo eso?.. para ke genere hartos registros si lo pudieras hacer seria buena onda de tu parte ya ke recien mi inicio y eso por favor :) de antemanos muxaz Gracias

Osea el formato que yo quiero ke me muestre ..del xml es asi :

Cita:
<?xml version="1.0" encoding="UTF-8"?>

<songs>
<song path="D:\musica\CRISTIANA\(marcos witt, marco barrientos)-quien como tu (1)(2).mp3" artist="" title="(marcos witt, marco barrientos)-quien como tu" />

<song path="D:\musica\CRISTIANA\02 mas que una anhelo(2).mp3" artist="" title="mas que una anhelo" />

<song path="D:\musica\CRISTIANA\04-guardian de mi corazon anet moreno.MP3" artist="" title="04-guardian de mi corazon anet moreno" />

<......

</songs>

Última edición por keygen20; 21/04/2009 a las 19:30
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 09:37.