Foros del Web » Creando para Internet » Flash y Actionscript »

cargar desde una base de datos

Estas en el tema de cargar desde una base de datos en el foro de Flash y Actionscript en Foros del Web. Hola..soy nuevo aki...y tengo un problema con un proyecto... Cargo por medio de un archivo PHP algunas variables de una base de datos...y sí me ...
  #1 (permalink)  
Antiguo 18/01/2006, 14:05
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
Pregunta cargar desde una base de datos

Hola..soy nuevo aki...y tengo un problema con un proyecto...
Cargo por medio de un archivo PHP algunas variables de una base de datos...y sí me regresa los valores correctos..el problema es que uno de los campos de la base de datos es tipo INTEGER y no se como me la este tomando el Flash..que no me deja modificar esa variable..solamente la puedo desplegar..estoy haciendo esta comparacion dentro por medio de ActionScript:

if(b[0]==1){
a++;
}

b[0], es la variable que cargo desde la base de datos
a, es varaible definida en Flash


Gracias por cualquier ayuda...
saludos
  #2 (permalink)  
Antiguo 18/01/2006, 14:19
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 1 mes
Puntos: 0
!bienvenido...!
..........
en teoria deberia tomarse el tipo de variable de acuerdo al contexto y no dar problemas si no se compara con igualdad estricta (===) o desigualdad estricta (!==)
... pero puedes comparar el valor como numero o cadena

como numero
Number(b[0])==1
parseInt(b[0])==1

como cadena
String(b[0])=='1'

:D
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #3 (permalink)  
Antiguo 18/01/2006, 15:13
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
no funciona.....
lo intente de las tres formas y la variable de adentro de la condición no se modifica...

por si acaso ....esta condición la tengo en un botón...


gracias
  #4 (permalink)  
Antiguo 18/01/2006, 15:46
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 1 mes
Puntos: 0
hola prueba estos códigos para salir de dudas
Código PHP:
/* CODIGO ACTION SCRIPT*/
on (release) {
    if(
b[0]==1trace('es igual'); else trace('no es igual');
    if(
b[0]=='1'trace('es igual'); else trace('no es igual');
    if(
Number(b[0])==1trace('es igual'); else trace('no es igual');
    if(
parseInt(b[0])==1trace('es igual'); else trace('no es igual');
    if(
String(b[0])=='1'trace('es igual'); else trace('no es igual');
    
trace('la variable b[0] tiene '+b[0].length+' caracteres');

ahora recuedo que algo parecido me pasó cuando quize comparar datos que recogía desde php... resultaba que por algun extraño motivo los datos no eran exactamente lo que pensé que cargaba, si la variable cargada era '' (vacio) en realidad no estaba vacío, me explico

variabledephp era la variable sin valor que cargaba de php
al comparar:

if(variabledephp == '') trace('SI esta vacio'); else trace('NO esta vacio');

y me daba como resultado: NO esta vacio

queria decir que algun tipo de caracter existe en esa variable que no contenia nada :S
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #5 (permalink)  
Antiguo 18/01/2006, 16:05
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
Había intentado algo parecido...solo que envez de usar el trace enviaba a algun frame diferente la pelicula...para asi, depende del frame al que me mandara, saber cual era la forma de hacer la comparación...pero no hizo nada...me mando al último frame (osea que ninguna de las comparaciones estaban correctas)...no se si me explique...
Tambien pense que alomejor estaba tomando datos erroneos de la base de datos..pero puse un texto dinámico que me mostrara la variable b[0] y si pone su valor "1" ...asi que..ya no sé que hacer...


Muchas gracias...
  #6 (permalink)  
Antiguo 18/01/2006, 16:12
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
b[0] es un nombre de una variable? Porque esa nomenclatura para flash es un array... No se si eso influira sobre el funcionamiento, qizas es que el flash toma a b como un array...

Saludos,

ArgoN
  #7 (permalink)  
Antiguo 18/01/2006, 16:21
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 19 años, 1 mes
Puntos: 0
ciertamente b[0] es el primer elemento del array b
supongo que usas LoadVars para cargar los datos, lo explica cómo?

como te dije tambien verifica la cantidad de caracteres de valor de la variable
si tiene más de lo debido, entonces alli está lo raro :P
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #8 (permalink)  
Antiguo 18/01/2006, 22:00
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 5 meses
Puntos: 37
verifica en donde estan cargados los arreglos, ya que es probable que esten en otro objeto o en _root, prueba con:

trace(b[0])

Flash debe estar reconociendo los valores quiza como caracter, de manera que por lo regular, yo siempre, cuando cargo algo de php o de asp, para convertilo a numero lo multiplico por 1

objLoader.onLoad()=function(exito){
_root.campox = this.campophp * 1
}

lo mismo si cargo luego un array con split, recorro el array y voy multiplicando cada elemento por 1
  #9 (permalink)  
Antiguo 19/01/2006, 11:59
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
exacto...b es un array en flash que guarda los datos de una columna INTEGER de SQL....

Probaré eso de multiplicar por 1 el valor para que tome el tipo int...

Muchas Gracias por su ayuda...
  #10 (permalink)  
Antiguo 19/01/2006, 16:38
Avatar de -=ArgoN=-  
Fecha de Ingreso: octubre-2005
Ubicación: Barcelona, España
Mensajes: 843
Antigüedad: 18 años, 6 meses
Puntos: 1
Multiplicarlo x 1? jajajaja
Que buenas ideas, no se me habria ocurrido nunca xD
Fijate que te dice el trace, en estas ocasiones es de mucha ayuda,

Saludos,

ArgoN
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:54.