Comunidad de diseño web y desarrollo en internet online

Avanzando... poner bonito resultado consulta php

Citar            
MensajeEscrito el 25 Nov 2005 07:04 pm
Saludos,
ya he conseguido después de varias pruebas y la ayuda de los foreros (gracias Maikel), mostrar en una película el resultado de una consulta php a mysql.

Prefiero abrir un tema nuevo, en lugar de continuar con el anterior, para no liarla demasiado ...

En el primer frame de flash tengo

Código :

var miLV:LoadVars = new LoadVars();
var Resultado = "";
Buscar.onRelease = function() {
   miLV.sendAndLoad("mostrar.php", miLV, "POST");
};
miLV.onLoad = function(sucess:Boolean) {
   if (sucess) {
      for (i=0; this["Nombre"+i] != undefined; i++) {
         Resultado = Resultado + this["Nombre"+i]+"\n";
         Resultado = Resultado + this["Apellidos"+i]+"\n";
         Resultado = Resultado + this["Direccion"+i]+"\n";
      }
      CampoResultado.text = Resultado;
   } else {
      CampoResultado.text = "corrige el url de script php o corrigelo";
   }
};

con lo que alimento al campo de texto. Eso es lo que conseguí ...

Lo que planteo es cómo puedo crear (repetir) varios mc, de uno que tenga creado en la biblioteca, de modo que se distribuyan en una zona de la pantalla, mostrando cada uno de los valores.

Por ejemplo, si la consulta me devuelve ...

Código :

&Nombre0=Antonio&Apellidos0=Delgado Castillo&Direccion0=Calle A&Nombre1=Ruth&Apellidos1=Pizarro Noria&Direccion1=Calle B&Nombre2=Luis&Apellidos2=Garcia Lopez&Direccion2=Calle C&Nombre3=Ana&Apellidos3=Gonzalez Marin&Direccion3=Calle D&Nombre4=Pepe&Apellidos4=Sanchez Suarez&Direccion4=Calle E&
,
¿como podría crear y distribuir tantos mcs como grupos de datos me llegan (nombre, apellidos y dirección)?

¿Es con este método una buena forma, o sería mejor hacerlo con xml?

Espero haberme explicado bien, y por favor, ayuda ....

Por AguaRas

93 de clabLevel



 

msie
Citar            
MensajeEscrito el 26 Nov 2005 08:15 am
No a ver..

Si vas a buscar, todos los santos campos de la base de datos, y pegarlos aquí. Te recomendaría uses, XML directamente. Porque aparte, sino estarás enviando muchísima data dentro de cada consulta. Es creo más ineficiente.

Asumo quieres crear algo así como una galería ó agenda. Te pongo un código fácil:

Código :

function load_XML(path) {
   //Código carga XML
   myXml = new XML();
   myXml.ignoreWhite = true;
   myXml.onLoad = compilar;
   //Función de lectura del XML
   function compilar() {
      var xml_main:String = myXml.firstChild.childNodes;
      var n_nodes:Number = xml_main.length;
      var n_childs:Number = xml_main[0].childNodes.length;
      //
      var main_arr:Array = [];
      var childs_arr:Array = [];
      var temp_nodes:Array = [];
      //
      for (var i = 0; i<n_nodes; i++) {
         childs_arr[i] = [];
      }
      //
      for (var i = 0; i<n_nodes; i++) {
         main_arr[i] = [xml_main[0].childNodes[i].nodeName];
         for (var j = 0; j<n_childs; j++) {
            childs_arr[j].push(xml_main[i].childNodes[j].childNodes[0]);
         }
      }
      compile(main_arr, childs_arr, n_nodes, n_childs);
   }
   //Carga XML
   myXml.load(path+".xml");
   function compile(main_arr, childs_arr, n_nodes, n_childs) {
      var xml_data:Object = {};
      xml_data.nodos = main_arr;
      xml_data.childs = childs_arr;
      xml_data.n_nodos = n_nodes;
      xml_data.n_childs = n_childs;
      xml_data.n_info = childs_arr.length;
   }
}


Y el XML es:

Código :

<datos> 

<myNode>
<nombre>Hernan</nombre>
<apellido>Fernandez</apellido>
<edad>100</edad>
<sexo>Masculino</sexo>
</myNode>

<myNode>
<nombre>Dos</nombre>
<apellido>Super</apellido>
<edad>100</edad>
<sexo>Masculino</sexo>
</myNode>

<myNode>
<nombre>Dos</nombre>
<apellido>Super</apellido>
<edad>100</edad>
<sexo>Masculino</sexo>
</myNode>

<myNode>
<nombre>Dos</nombre>
<apellido>Super</apellido>
<edad>100</edad>
<sexo>Masculino</sexo>
</myNode>

</datos>


Te paso a explicar un poco.


1. Puedes agregar tantos nodos como quieras.
2. Puedes agregar tantos datos como quieras, el sistema los reconocerá automáticamente.

ej.

el sistema identifica tanto :

<nombre>Algo</nombre>
<apellido>ALgo</algo>

Como todo los datos que te puse arriba.

3. El código te dará de resultado un objeto xml_data con 4 propiedades en forma de Array.

xml_data.nodos = Todos los nombres de los datos [ej. nombre, apellido, etc]
xml_data.childs = Los datos ordenados [ej.myName,myName,mySurname,mySurname]
xml_data.n_nodos =La cantidad de datos en forma númerica
xml_data.n_childs = La cantidad de información en forma númeria

Ya ahora, tienes todo preparado. Puedes manipular la información de la manera acostumbrada, ya se trayendo clips con:

attachMovie()

ó lo que se te ocurra. Ya puedes manipular de manera práctica y simple la data en forma de arrays, como siempre la manejas.

Salu2, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 26 Nov 2005 05:51 pm
Gracias, estoy haciendo pruebas, pero...
¿podrías darme un ejemplo de php de cómo construir el xml una vez que lanzo la consulta?

Por AguaRas

93 de clabLevel



 

msie
Citar            
MensajeEscrito el 26 Nov 2005 06:02 pm
¿Y de cómo recuperar esos valores en flash?

Por AguaRas

93 de clabLevel



 

msie
Citar            
MensajeEscrito el 15 Dic 2005 03:37 am
Mirate este link:
http://www.cristalab.com/foros/viewtopic.php?t=2626

Por Naujfract

124 de clabLevel



 

Bogotá Colombia

firefox

 

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