Comunidad de diseño web y desarrollo en internet online

Problemas con flash, PHP y XML

Citar            
MensajeEscrito el 13 Feb 2008 07:09 pm
Veréis estoy haciendo una aplicación, que gestiona si las mesas están reservadas o no, y para ello, nada más abrir coge el día, y abre un archivo del tipo ddmmaaaa.xml si esta ese archivo mira el campo reservada, sino esta, y aquí mi problema, llama a un php, que genera el ddmmaaaa.xml pero con todas las mesas con el campo reservada a 0, el problema, es que no me crea el archivo ddmmaaaa.xml en el servidor web, mi código que concierne a este problema es:

FLASH:

Código :

//----------------------------------------------------------------------//
//   PONE ESTADO MESAS A DIA DE HOY              //
//----------------------------------------------------------------------//
function ActualizaMesa() {
   var fechaHoy = new Date();//Leo Fecha
   fechaHoy = fechaHoy.getDate()+""+(fechaHoy.getMonth()+1)+""+fechaHoy.getFullYear(); //Doi formato A FECHA ddmmaaaa
   parseInt(fechaHoy);//transformo a numeros la fecha
   fechaHoy="datos"+"/"+fechaHoy+".xml";//Convierto la fecha a formato ddmmaaaa.xml

   System.useCodepage=true;
   var cadena;
   var reserva;
   var reserva_xml = new XML();
   reserva_xml.ignoreWhite = true;
   reserva_xml.load(fechaHoy);

   reserva_xml.onLoad = function(success) {
      if (success){//SI EXISTE FICHERO XML, ENTRO
         for(i = 1; i <num_mesas_i ; i++){ 
            reserva = reserva_xml.childNodes[i-1].childNodes[1].childNodes[3].firstChild;
      
            if (parseInt(reserva) == 1){   //parseInt(reserva) convierte el contenido a entero
                 cadena = "mesa" + i + ".mesa_bot";
               setProperty("mesa"+i, _alpha, tenue);   //La atenuo la mesa
                 setProperty(cadena, _visible, 0);      //Deshabilito la mesa
            }
            else {
               cadena = "mesa" + i + ".mesa_bot";
               setProperty("mesa"+i, _alpha, 100);   //Desatenuo la mesa
                 setProperty(cadena, _visible, 1);   //Habilito mesa
            }
         }
         xmlCargado = true;
      }
      else{//SINO EXISTE FICHERO XML, LO CREO, EN BLANCO, Y AZTUALIZO MESA SEGUN FICHERO
         creo_resev = new LoadVars();
         creo_resev.archivo=fechaHoy;
         //creo_resev.sendAndLoad("crea.php",recibir_lv, "POST");
         creo_resev.sendAndLoad("crea.php", "POST");
         creo_resev.onLoad = function(success) {
               if (success) {
               limpiarFin();
                  ActualizaMesa();
                } 
              else {
                   error = "Problemas con el servidor. Intentalo de Nuevo mas tarde";
                }
      }
   };
}




PHP:

Código :

<?php 

 //Creates XML string and XML document using the DOM 
 $dom = new DomDocument('1.0'); 

 //add root - <Mesa> 
 $Mesa = $dom->appendChild($dom->createElement('Mesa')); 

 //add <datos> element to <Mesa> 
 $Mesa = $Mesa->appendChild($dom->createElement('datos')); 

 //add <nombre> element to <datos> 
 $datos = $datos->appendChild($dom->createElement('nombre')); 
  //add <apellidos> element to <datos>
 $datos = $datos->appendChild($dom->createElement('apellidos')); 
  //add <dni> element to <datos>
 $datos = $datos->appendChild($dom->createElement('dni'));
  //add <direccion> element to <datos>
 $datos = $datos->appendChild($dom->createElement('direccion'));
  //add <telf> element to <datos>
 $datos = $datos->appendChild($dom->createElement('telf'));
  //add <title> element to <datos>
 $datos = $datos->appendChild($dom->createElement('mail'));
 
 //add <reserva> element to <Mesa> 
 $Mesa = $Mesa->appendChild($dom->createElement('reserva')); 

 //add <personas> element to <reserva> 
 $reserva = $reserva->appendChild($dom->createElement('personas')); 
  //add <mesa> element to <reserva>
 $reserva = $reserva->appendChild($dom->createElement('mesa')); 
  //add <fecha> element to <reserva>
 $reserva = $reserva->appendChild($dom->createElement('fecha'));
  //add <dreservada> element to <reserva>
 $reserva = $reserva->appendChild($dom->createElement('reservada'));
 //add <reservada> text node element to <reservada> 
 $reservada->appendChild( 
                 $dom->createTextNode('1')); 

 
 
 //generate xml 
 $dom->formatOutput = true; // set the formatOutput attribute of 
                            // domDocument to true 
 // save XML as string or file 
 $test1 = $dom->saveXML(); // put string in test1 
 $arch = $_POST["archivo"];
 $dom->save($arch); // save as file 
 echo "&estatus=ok&";
 ?>


TIPO ARCHIVO XML:

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

Código :

<Mesa>
   <datos>
      <nombre></nombre>
      <apellidos></apellidos>
      <dni></dni>
      <direccion></direccion>
      <telf></telf>
      <mail></mail>
   </datos>
   <reserva>
      <personas></personas>
      <mesa></mesa>
      <fecha></fecha>
      <reservada>0</reservada>
   </reserva>
</Mesa>



estaría muy Agradecido que me echarais una mano, ya que llevo varios días rompiéndome la cabeza y no se porque va, y he buscado por Internet y no encuentro el porque.

Por chamics

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Ene 2009 03:40 am
Me parece que te conviene armar un archivo .PHP que emule un .XML en vez de crear fisicamente el archivo en el servidor.. y desde FLASH tendrías que llamar al archivo ddmmaaaa.php (con la extensión .php, en vez de llamar a ddmmaaaa.xml).

Te muestro un ejemplo similar..

Código :

<?php
// Consultamos los datos desde MySQL
$conexion = mysql_connect("localhost", "root", "password");
mysql_select_db("basededatos", $conexion);
// Armo el array
$marca= $_POST["campo1"];
$repuesto= $_POST["campo2"];
$query="SELECT filename, description FROM xmlgallery WHERE marca='".$marca."' AND repuesto='".$repuesto."'";
$result=mysql_query("$query") or die ("Error en la consulta <b>$query</b> :".mysql_error()); 
header("Content-type: text/xml");
// Encabezado del XML
echo '<?xml version="1.0" encoding="utf-8" standalone="yes"?>';
// Del código del XML
echo '<images>';
//Recorro el array
while($arreglo = mysql_fetch_array($result)) 
{   
echo '<pic>';
echo '<image>IMG/', $arreglo["filename"], '</image>';
echo '<caption>', $arreglo["description"], '</caption>';
echo '</pic>';
} 
// Del código del XML
echo '</images>';
?>

Por DiegoCARC

2 de clabLevel



 

msie7
Citar            
MensajeEscrito el 09 Ago 2009 12:52 am
DiegoCARC, ¿por qué decís que es conveniente usar este PHP para pasar un XML, a leerlo directamente el XML? ¿Y de dónde leería los datos, de MySQL?

Me gustaría saber el porqué de esto que decís. Sus pros y sus contras. Te digo esto porque acabo de terminar un editor de XML en Flash que lee y escribe un XML mediante PHP, pero sin uso de base de datos.

Uso Flash y AS2.

Por Mario Mey

40 de clabLevel



 

Castelar, Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.