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