Comunidad de diseño web y desarrollo en internet online

Flahs y Xml me carga 20 regsitros

Citar            
MensajeEscrito el 13 Dic 2009 10:11 pm
hola, estoy desarrollando un catalogo de productos con xml, cuando llegue a completar los mas de 100 procutos me tope con que no me los muestra, pero cuando pongo 20 si me muestra los 20 que estan cargados, hay alguna resntriccion o algo con respecto a flash y xml?, una solucion que se me ocurrio es hacer un paginado. si alguien sabe como puedo hacer que me cargue los mas de 100 produtos en 1 sola hoja serai buenisimooo!

dejo el codigo: (en un fotograma antes llama al xml)

Código ActionScript :

var item_title:Array = new Array();
var item_modelo:Array = new Array();
var item_origen:Array = new Array();
var item_aplicaciones:Array = new Array();
var item_carpla:Array = new Array();
var total:Number;
var i:Number = 0;
var p:Number = 0;
var item_spacing:Number = 10;
var scrolling_speed:Number = 0.40; // 0.00 to 1.00
var cv:Number = 0;
var cv_old:Number = 0;
var on_drag:Boolean;
var xml:XML = new XML();
item_list_area._visible = false;
item_list.setMask(item_mask);
stop();

xml.onLoad = function()
{
   item_list.fm_item._visible = false;
   var nodes = this.firstChild.childNodes;
   total = nodes.length;

   for( i = 0; i < total; i++)
   {
      item_title[i] = nodes[i].attributes.title;
      item_origen[i] = nodes[i].attributes.origen;
      item_carpla[i] = nodes[i].attributes.carpla;
      item_aplicaciones[i] = nodes[i].attributes.aplicaciones;
      item_modelo[i] = nodes[i].attributes.modelo;
   }
   create_item_list();
   scroller();
}
xml.load( xml_file );
xml.ignoreWhite = true;
function create_item_list():Void
{
   for( i = 0; i < total; i++)
   {
      var item = item_list.fm_item.duplicateMovieClip("fm_item"+i, i);
      item._y = i * (item_list.fm_item._height + item_spacing);
      item.item_title.text = item_title[i];
      item.item_origen.text = item_origen[i];
      item.item_aplicaciones.text = item_aplicaciones[i];
      item.item_carpla.text = item_carpla[i];
      item.item_modelo.text = item_modelo[i];
      item.no = i;
            
   }
}



Muchas Gracias

Por rudemex

Claber

109 de clabLevel

1 tutorial

Genero:Masculino  

Buenos Aires. Argentina

firefox
Citar            
MensajeEscrito el 14 Dic 2009 01:04 am
rudemex, no existe una limitación, seguramente tienes algún problema en el formato del XML, ya que cuando flash encuentra un nodo mal cerrado simplemente "deja de leer" el XML.

El código a simple vista parece estar bien, fijate que no esten rotos primero los nodos.

Saludos, Hernán . -

PD. Cambia el avatar que esta demasiado grande . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 14 Dic 2009 01:07 am
jaja grax.. si nose que onda.. me estan sacando la foto ¬¬ jajaja ahora busco la forma de que no me cambie la foto:P ajja gracias hernan!..

el codigo del flash esta bien.. lo baje de www.flashmo.com ahi pueden sacar cosas utiles ;) y en cuanto al xml es raro que no me lotome.. por que pasa lo mismo cuando agarro otro que lee xml le multiplico los nodos y pasa exactamente lo mismo xd.

gracias!

Por rudemex

Claber

109 de clabLevel

1 tutorial

Genero:Masculino  

Buenos Aires. Argentina

firefox
Citar            
MensajeEscrito el 14 Dic 2009 01:22 am
me fije lo que me decias del xml si tenia algo mal cerrado.. hice lo siguiente.. puse 1 solo nodo, lo tomo bien, lo puse 50 veces mas, y dejod e funcionar devuelta, lo puse 20 veces y volvio a funcionar, le puse 21 y dejo de funcionar. osea me esta tomando 20 nodos.. tenes alguna idea?

grax

Por rudemex

Claber

109 de clabLevel

1 tutorial

Genero:Masculino  

Buenos Aires. Argentina

firefox
Citar            
MensajeEscrito el 14 Dic 2009 04:01 am
rudemex, postea el código del XML al menos parcial para ver tu estructura. De todas formas haz lo siguiente:


  1. Pon un trace en la variable total para ver que resultados esta devolviendo
  2. Pon el stop al principio del código (Por mera prolijidad)
  3. Por el ignoreWhite luego de la creación del objeto XML


Saludos, 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 14 Dic 2009 11:35 am
Hola Hernana, aca te paso el xml que tengo..(mejor dicho un pedazo del xml)

Código XML :

<?xml version="1.0" encoding="utf-8"?>
<items>
   <item    title="ARBOL DE LEVAS" modelo="Modelo: ASTRA" origen="Nro. de Origen: 93.247.257" aplicaciones="Aplicaciones: 1,8/2,0 MPFI/GAS" carpla="Cod. de carpla: 539 H"/>

<item    title="ARBOL DE LEVAS" modelo="Modelo: ASTRA" origen="Nro. de Origen: 93.247.257" aplicaciones="Aplicaciones: 1,8/2,0 MPFI/GAS" carpla="Cod. de carpla: 539 H"/>

<item    title="ARBOL DE LEVAS" modelo="Modelo: ASTRA" origen="Nro. de Origen: 93.247.257" aplicaciones="Aplicaciones: 1,8/2,0 MPFI/GAS" carpla="Cod. de carpla: 539 H"/>

<item    title="ARBOL DE LEVAS" modelo="Modelo: ASTRA" origen="Nro. de Origen: 93.247.257" aplicaciones="Aplicaciones: 1,8/2,0 MPFI/GAS" carpla="Cod. de carpla: 539 H"/>

<item    title="ARBOL DE LEVAS" modelo="Modelo: ASTRA" origen="Nro. de Origen: 93.247.257" aplicaciones="Aplicaciones: 1,8/2,0 MPFI/GAS" carpla="Cod. de carpla: 539 H"/>

<item    title="ARBOL DE LEVAS" modelo="Modelo: ASTRA" origen="Nro. de Origen: 93.247.257" aplicaciones="Aplicaciones: 1,8/2,0 MPFI/GAS" carpla="Cod. de carpla: 539 H"/>

<item    title="ARBOL DE LEVAS" modelo="Modelo: ASTRA" origen="Nro. de Origen: 93.247.257" aplicaciones="Aplicaciones: 1,8/2,0 MPFI/GAS" carpla="Cod. de carpla: 539 H"/>

</items>



los nodo se repiten varias veces, para testearlo..pero como te decia, pongo 20 y funcuiona pongo 21 y no funciona:(

gracias

Por rudemex

Claber

109 de clabLevel

1 tutorial

Genero:Masculino  

Buenos Aires. Argentina

firefox
Citar            
MensajeEscrito el 14 Dic 2009 12:06 pm
rudemex, ese tipo de XML no esta del todo bien, porque los atributos no estan diseñados para usarse tan así como los andas usando, es probable esten causando algún problema.

Yo rediseñaría el XML a lo siguiente:

Código XML :

<items>
    <item>
        <title>ARBOL DE LEVAS</title>
        <modelo>Modelo: ASTRA</modelo>
        <origen>Nro. de Origen: 93.247.257</origen>
        <aplicaciones><![CDATA[ Aplicaciones: 1,8/2,0 MPFI/GAS ]]></aplicaciones>
        <carpla>Cod. de carpla: 539 H</carpla>
    </item>
</items>


Por cierto, otro tip, siempre es mejor tener el "dato puro", y no mezclarlo con información no directa. En este caso por ejemplo donde dice "Modelo:" podrías evitarlo y así dejarlo más prolijo. Algo así:

Código XML :

<items>
    <item>
        <title>ARBOL DE LEVAS</title>
        <modelo>ASTRA</modelo>
        <origen>93.247.257</origen>
        <aplicaciones><![CDATA[ 1,8/2,0 MPFI/GAS ]]></aplicaciones>
        <carpla>539 H</carpla>
    </item>
</items>


Luego simplemente según sea el dato, le puedes anexar la info con un mero String y ya.

Saludos, 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 14 Dic 2009 12:09 pm
Lo olvidaba.... Otro criterio a tener en cuenta también, es que si escribes los nodos en ingles sigue en ingles, si lo haces en español, sigue en español. Ya sabes, por el bien de la nomenclatura estandarizada jeje

Saludos, 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 14 Dic 2009 12:14 pm
hola hernan.. mira probe cambiando el diseño del xml, pero sigue sin funcionar.. lo voy hacer mejor por bd y qeu se vaya a la r...... jajajajajajajja igual era provisorio la porqueria esa.. hasta que me den el cpanel..en fin gracias igual por la mano!.. deseguro cuadno tenga un poco mas de tiempo disponible voy a ver por que carajo no funcionaba

adios!

Por rudemex

Claber

109 de clabLevel

1 tutorial

Genero:Masculino  

Buenos Aires. Argentina

firefox
Citar            
MensajeEscrito el 14 Dic 2009 12:18 pm
jajaja rudemex, pero no puede ser Flash, yo cuando trabajo con Bases de Datos, SIEMPRE paso como XML el resultado, y he pasado hasta 1500 registros una vez (Para libretas de emailing para virales).

Anyway... Good Luck!

Saludos, 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 14 Dic 2009 05:14 pm
JAJAJA y we espero qeu me funke asi.. sino voy a tener que hacerlo devuelta con otro codigoU_U y la verdad muchas ganas no tengo:P jajajajajajajajajaja pero wee.. la vida es dura xd

gracias master!

Por rudemex

Claber

109 de clabLevel

1 tutorial

Genero:Masculino  

Buenos Aires. Argentina

firefox
Citar            
MensajeEscrito el 15 Dic 2009 02:30 am
No se si te sirva, pero esta es la función que uso yo para cargar XML:

Código ActionScript :

// Página de Inicio
var Page:Number = 0;
var cantPage:Number = CANTIDAD_POR_PAGINA_AQUI;
/*
ROW 1 -> INFORMACION_AQUI
ROW 2 -> INFORMACION_AQUI
ROW 3 -> INFORMACION_AQUI
ROW 4 -> INFORMACION_AQUI
ID -> ID Registro
Date -> Fecha Registro 
Status -> Estado del Registro (0 Inactivo, 1 Activo)
*/
//
// --- | Arrays Principales | ---
//
var Row_1_arr:Array = [];
var Row_2_arr:Array = [];
var Row_3_arr:Array = [];
var Row_4_arr:Array = [];

var ID_arr:Array = [];
var Date_arr:Array = [];
var Status_arr:Array = [];

// Carga de la Info
var Data:XML = new XML();
Data.ignoreWhite = true;
// Función LoadXML para cargar y refresh de información
function loadXML() {
   
   Data.onLoad = function() {
      for (var i = 0; i<this.firstChild.childNodes.length; i++) {
         Row_1_arr.push(this.firstChild.childNodes[i].childNodes[0].firstChild.nodeValue);
         Row_2_arr.push(this.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue);
         Row_3_arr.push(this.firstChild.childNodes[i].childNodes[2].firstChild.nodeValue);
         Row_4_arr.push(this.firstChild.childNodes[i].childNodes[3].firstChild.nodeValue);
         
         ID_arr.push(this.firstChild.childNodes[i].childNodes[4].firstChild.nodeValue);
         Date_arr.push(this.firstChild.childNodes[i].childNodes[5].firstChild.nodeValue);
         Status_arr.push(this.firstChild.childNodes[i].childNodes[6].firstChild.nodeValue);         
      }      
      renderChart(0);
      setPages();
      DataStatus.text = Row_1_arr.length+" registros estan siendo visualizados.";
   };
   //
   Data.load(_global.path_str+"php/read_xml.php?query="+algo);
}
// Invocar por primera vez
loadXML();
//

function renderChart(Page:Number) {
   
   for (var i = 0, j = (Page*cantPage); i<cantPage; i++, j++) {
      if (Row_1_arr[j] != undefined) {
         // Código aquí 
         if (Status_arr[j] == 1) {
            // Código del status activo aquí 
         } else {
            // Código del status inactivo aquí 
         }
         // 
      } else {
         // Código para deshabilitar carga erronea aquí 
      }
   }
}


Saludos, 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 15 Dic 2009 02:34 am
gracias hernan.. lo estoy haciendo devuelt.a. creo que etsa vez si lo toma.. creo que cometi un erro yo al usar otro codigo¬¬ este usa el push... xdjajaja va a funcar estoy 99,99% seguro:P ajjaja

os vemos!

gracias d etodas formas:)

Por rudemex

Claber

109 de clabLevel

1 tutorial

Genero:Masculino  

Buenos Aires. Argentina

firefox

 

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