Ver Mensaje Individual
  #10 (permalink)  
Antiguo 03/02/2006, 08:14
Avatar de luistar
luistar
 
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 8 meses
Puntos: 0
hola :D
creo que dejaste varios vacíos al modificar el código
Cita:
Código:
//vamos a guardar el documento antes de sacarlo al buffer de salida... 
$mi_XML = fopen('noticias.xml', 'w'); 
fwrite($mi_XML, $NOTICIA); 
fclose($mi_XML);
intentas guardar el valor de $NOTICIA dentro del archivo noticias.xml
pero $NOTICIA es un array, y hace referencia al último registro que exploramos con while()

lo que tienes que guardar es la cadena XML
para ello debes armar dicha cadena en una variable

haaa... otro asunto... el error que mencionas probablemente se sucita por la codificación de caracteres que altera las etiquetas del XML y por ende la estructura del mismo...

este código te funcionará
archivo: noticias.php
Código PHP:
<?php 
//conexion y seleccion de la DB ----------------------------------->
if($conectar = @mysql_pconnect('localhost','root','')) @mysql_select_db('noti_php',$conectar) ;
else { 
$db_error mysql_error(); die($db_error); }
// consulta ----------------------------------->
$SQL 'SELECT * FROM noticias ORDER BY numero DESC LIMIT 6'
$RESULTADO mysql_query($SQL); 
//aquí comenzamos con la cadena XML ------------->
$contenido_XML '';
$contenido_XML .= '<?xml version="1.0" encoding="UTF-8"?>'."\n"
$contenido_XML .= '<noticias>'
//aquí exploramos cada registro y VAMOS AÑADIENDO A LA VARIABLE $contenido_XML, dándole las etiquetas y atributos que requiere nuestro XML 
while($NOTICIA mysql_fetch_array($RESULTADO)){ 
    
//debe tener este formato: <noticia id="" fecha="" titulo="" descripcion="" /> 
    
$contenido_XML .= "\n\t".'<noticia id="'.$NOTICIA['numero'].'" fecha="'.$NOTICIA['Fecha2'].'" titulo="'.$NOTICIA['Titulo'].'" descripcion="'.$NOTICIA['Resumen'].'" />'

//finalmente terminamos nuestro XML 
$contenido_XML .= "\n</noticias>"

/*AHORA LA VARIABLE $contenido_XML CONTIENE TODA LA CADENA XML
PODEMOS HACER CON ELLA LO QUE NOS PLAZCA COMO GARDARLA EN UN ARCHIVO

$archivo_XML ='noticias.xml';
$abrir_XML = fopen($archivo_XML, 'w');
fwrite($abrir_XML, $contenido_XML);
fclose($abrir_XML); 

*/

/*pero en este caso imprimimos el contenido_xml
y lo llamaremos directamtamente de flash: load('noticias.php');
lo que flash espera leer es una candena XML y nosotros es lo que le estamos dando
y no sería necesario crear un archivo aparte, claro para usarla en otras cosas sería bueno :D
*/
echo utf8_encode($contenido_XML);

/*NOTA. dependiendo en qué formato se guardan los datos en tu BD debes condificarlo o decodificarlo*/
?>
dependiendo la codificacion de los datos tienes que convertirlos adecuadamente
por ejemp codificarlo como lo hacemos ahora

Ahora en el código de flash
tienes que cargar los datos xml directamente del php

//noticias_xml.load('noticias.xml'); // <-- cabia esto
noticias_xml.load('noticias.php'); // <--- por esto

aunque se podría hacer que al actualizar la tabla de noticias en la DB, por separado generemos un archivo .xml y desde flash solo consultemos ese archivo generado... bueno ya son alternativas

haaa... y te recomiendo que al probar el archivo noticias.php
no uses iexplorer ya que si hay algún errror no te permitirá ver el código, te recomiendo el navegador OPERA, le das en ver código fuente y podrás ver la cadena generada por más error que se haya suscitado

:D

haa y eso de Sr. Luis jeje.. xD... basta con LUIS
__________________
Si digo que soy mentiroso. ¿Lo soy?