Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Flash y Actionscript (http://www.forosdelweb.com/f16/)
-   -   Problema con variables procedentes de PHP (http://www.forosdelweb.com/f16/problema-con-variables-procedentes-php-633446/)

bernattorras 11/10/2008 15:42

Problema con variables procedentes de PHP
 
Hola, soy un novato del PHP y recién estoy empezando a experimentar con su utiización desde flash.

mi problema es el siguiente:

Tengo un PHP que me comprueba el numero de comentarios registrados en la base de datos mysql y me devuelve el valor en una variable para flash.

codigo php:

<?php

$link = mysql_connect("localhost", "usuario", "pswd");

mysql_select_db("a7285468_prova");

$sql = "SELECT max( id_sql ) FROM `comentaris`";
$res = mysql_query($sql);

$res_a= mysql_result($res, 0);

echo "texto=".$res_a;
mysql_close($link);

?>

EL PHP me funciona bien, dandome un numero que equivale al numero de comentarios. También consigo cargar este numero en una variable desde flash.

Codigo en Flash:

consultaid_lv = new LoadVars();
consultaid_lv.load("consulta_id.php")
consultaid_lv.onLoad = function() {
temp=this.texto;
}


Mi problema esta en que una vez cargado el valor de la consulta PHP a la variable "temp", no consigo modificarla. Lo que quisiera es que otra variable como "i" obtuviera el valor de "temp" +1. (i=temp+1;). Pero al visualizar la variable "i" desde un texto dinamico me sale NAN o no me sale nada...

Cual es el problema? Como puedo tomar el valor de php en una varaible en flash para poderlo modificar luego?

Muchas gracias.

exangel 11/10/2008 16:37

Respuesta: Problema con variables procedentes de PHP
 
Hola,
Primero deberías sustituir en el PHP el "echo", por lo siguiente:
echo "&texto=".$res_a."&fin=ok";

NO SÉ porqué pero el añadir "&" al principio y una variable final que no utilizo, me ayudó en casos en los que las variables de PHP no se recogian bien.
Luego, en FLASH, añadele ".toString()" a las variables de texto que quieres CONCATENAR:
temp=this.texto;
temp=temp.toString();

El problema que estás teniendo es que quieres sumar "1" a un valor de CADENA:
i=temp+1

Por eso te da error diciendote que el resultado es Nan (Not A Number).

bernattorras 11/10/2008 17:47

Respuesta: Problema con variables procedentes de PHP
 
Gracias por tu respuesta, aunque no estoy seguro de que sea lo que necesito... :S

La variable "temp" del flash, recoge un numero del php (aunque la variable que lo envie se llame "texto"...). Asi, suponiendo que reciba temp=6, lo que deseo es pasar su valor incrementado en uno a la variable i (i=temp+1;) obteniendo en este caso i=7.

El problema es que, como he dicho antes, al hacer "i=temp+1", i me devuelve NAN.

No se si ya lo habias entendido asi... si es asi, podrías reexplicarme tu propuesta?

Muchas gracias! :)

flanagan44 12/10/2008 02:03

Respuesta: Problema con variables procedentes de PHP
 
Diria que tiene razon Exangel, normalmente cuando sale el NAN es porque estas intentando sumar un caracter o string con un numero.

Mira de pasarlo todo a entero, haber si asi lo solucionas

bernattorras 12/10/2008 05:06

Respuesta: Problema con variables procedentes de PHP
 
Si, supongo que el valor resultante del PHP flash lo considera como string, pero cuando intento pasarlo a entero me da = 0;

CODIGO FLASH:

consultaid_lv = new LoadVars();
consultaid_lv.load("consulta_id.php")
consultaid_lv.onLoad = function() {
temp=this.texto; // texto es un numero
}

i= int(temp)+1;

Al visualizar temp en un cuadro de texto dinamico me sale temp=17 pero al visualizar i me sale i=1; (int(temp)=0);Que es lo que hago mal?

Muchas gracias!

Lynxcraft 12/10/2008 07:34

Respuesta: Problema con variables procedentes de PHP
 
Código PHP:

var i:Number

var consultaid_lv:LoadVars = new LoadVars();
consultaid_lv.load("consulta_id.php")
consultaid_lv.onLoad = function() {
var 
temp:Number=int (this["texto"]); // texto es un numero

 
itemp+1;


Nota XD Aprendan a declarar las variables por que cuando empiecen a programar en as3 se le va hacer complicado esto solo es un consejo XDXD


La zona horaria es GMT -6. Ahora son las 20:30.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.