Comunidad de diseño web y desarrollo en internet online

getURL "dinamicos"

Citar            
MensajeEscrito el 26 Ene 2007 03:46 pm
Hola
Mi problem;

Me conecto desde flash por medio de php a una base de datos mysql, recojo los datos y los muestro. Tengo 8 botones, que recojen nombre, titulo y link. Funciona perfecto menos el link, que se me resiste. Actionscript:

Código :

var datos_bd:LoadVars = new LoadVars();
datos_bd.onLoad = function(exito:Boolean)
{
    if(exito) {  
      if(this.output == "ok"){
         for (i=1;i<=8;i++){            
            var url = eval(this["link"+i]);
            _root.inst_llam["mc_todo"+i]["mc_"+i]["mc_nombre"]["nombr e"].text = this["dj"+i];
            _root.inst_llam["mc_todo"+i]["mc_"+i]["titulo"].text = this["titulo"+i];                        
            _root.inst_llam["mc_todo"+i]["btn_"+i].onRelease = function(){
               getURL(url, "_blank");
            }            
         }         
      }         
    }else{
      _root.inst_llam.mc_todo1.mc_1.mc_nombre.nombre.text=this.output;
      trace("non vai");
    }
}
datos_bd.load("php/top8.php"); 

Ya no os muestro el php porque esta bien, el problema es este codigo.
Como veis hago var url = eval(this["link"+i]); y luego getURL(url, "_blank");, una de las mil formas que he probado sin suerte.
Tambien he probado esto:

Código :

//esto dentro de for
url=this["link"+i] //link es la variable que pillo por loadvars de la bbdd
getURL(url, "_blank");

Pero se "activa" sólo el último link de la bbdd, osea si hay link1, link2, link3 y son diferentes, en el swf los botones apuntan todos a link3 en este caso. Supongo que será porque utilizo la misma variable url.
Por eso lo que necesito hacer es lo siguiente, pero no doi con la manera de escribirlo:

Código :

getURL(this["link"+i], "_blank");


¿Alguna idea?

Un saludo a todos

Por umek

23 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Ene 2007 04:42 pm
Ya lo he solucionado ;) Finalmente este es el codigo que he utilizado

Código :

//variable de carga de datos desde el servidor
var datos_bd:LoadVars = new LoadVars();
datos_bd.onLoad = function(exito:Boolean)
{
    if(exito) { 
      if(this.output == "ok"){         
         for (i=1;i<=8;i++){           
            var dir = this["link"+i];
            var item=_root.inst_llam["mc_todo"+i];
             _root.inst_llam["mc_todo"+i]["mc_"+i]["mc_nombre"]["nombre"].text = this["dj"+i];
         _root.inst_llam["mc_todo"+i]["mc_"+i]["titulo"].text = this["titulo"+i];                       
            item["btn_"+i].url=dir;
            item["btn_"+i].onRelease = function(){
               getURL(this.url, "_blank");
            }           
         }
      }         
    }else{
      _root.inst_llam.mc_todo1.mc_1.mc_nombre.nombre.text=this.output;
      trace("error");
    }
}
datos_bd.load("php/top8.php"); 

La parte que arregle es:

Código :

var dir = this["link"+i];
//
item["btn_"+i].url=dir; //osea boton.url = dir
            item["btn_"+i].onRelease = function(){
               getURL(this.url, "_blank"); //this es lo importante
            }           


Espero que le sirva a otra persona!
Saludos

Por umek

23 de clabLevel



 

firefox

 

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