Base de datos y flash

Hola
Mi problema es el siguiente:
Tengo una tabla con dos columnas y como 200 filas, y necesito tener acceso desde flash.
Mi idea es con un componente lista elegir de la primera columna un valor y que me devuelva el de la columna 2.
Necesito saber con que programa uso la base de datos y como tengo acceso a ella desde flash.
Gracias de antemano. Espero que pueda responder mi duda porque es urgente.
Saludos

1 Respuesta

Respuesta
1
Si, tuve el mismo problema hace tiempo.
Por desgracia flash solo interactúa con PHP que yo sepa.
Para esto hay que conocer "loadVars()" con esa clase flash y PHP (o ASP, o archivos planos...) comparten datos.
Y mediante PHP nos podemos conectar a varios tipos de Bases de datos, pero la más utilizada de las gratuitas es MySQL.
Para usar esta clase es necesario crear un objeto (uno para enviar y otro para recibir)
---
var emisor:LoadVars = new LoadVars();
var receptor:LoadVars = new LoadVars();
---
Con el objeto emisor lo primero que hacemos es darle los datos que queremos enviar.
Por ejemplo, si tenemos una casilla de texto llamada "IDproducto" en la que se debe insertar el número ID del producto que se buscará en la base de datos.
Para mostrar cómo se pasa más de una variable también enviaremos el texto "Mensaje de prueba".
Todo esto lo ponemos en un botón que envíe los datos.
---
on (release){
emisor.ID = IDproducto.text;
emisor.mensaje = "Mensaje de prueba";
emisor.sendAndLoad("buscador.php", receptor, "POST");
}
---
Esto envía por POST las las variables de "emisor" a "buscador.php" y carga "receptor" para que compruebe que no hubieron errores.
Aquí está el código que comprueba que todo fue correctamente y lo explicamos en una casilla de texto llamada "respuesta"
---
receptor.onLoad = function(correcto){
if (correcto) {
respuesta.text = "Todo fue correctamente :D\n";
respuesta.text += "El nombre del artículo es: "+receptor.nombre;
} else {
respuesta.text = "ERROR!!! Comprueba el código."
}
};
---
La función se ejecutará siempre que se cargue "receptor".
"correcto" es la respuesta que nos da. Si es true significa que no hubieron problemas. Puedes cambiarlo por lo que quieras (OK, enviado, boolean...) el nombre es lo de menos.
Por último cargamos el resultado.
Con PHP buscamos en la base de datos y mediante echo mostramos en pantalla el resultado en formato MIME format application/x-www-form-urlencoded. pero de esto hablaremos más tarde.
Cuando se ejecuta el sendAndLoad el resultado del PHP lo leerá "receptor" y ya tendrás el resultado de la búsqueda en la base de datos.
El estándar MIME format application/x-www-form-urlencoded consiste básicamente en separar las variables por & y asignarles valor con =.
Con eso hacemos una línea con las variables.
Así nuestro Flash le estaría enviando al PHP la línea
ID=[numero]&mensaje=Mensaje de prueba
Y desde PHP tendremos que devolver una línea en el mismo formato.
Por ejemplo el PHP podría ser así:
---
<?php
$HOST = "localhost";
$USER = "root";
$PASS = "";
$DATABASE = "mi_tienda";
$conex = mysql_connect($HOST, $USER, $PASS);
mysql_select_db($DATABASE, $conex);
$sql = "SELECT producto.nombre, FROM articulo ON producto.id = ".$_POST["ID"];
$result = mysql_query($sql);
mysql_close();
mysql_fetch_array($result)){
$línea_final = "&nombre=".$row['nombre'];
echo utf8_encode($respuesta);
?>
---
Ya con esto PHP nos devuelve el nombre del producto con esa ID.
El código está resumido aquí:
---
//Fotograma 1 del Flash
var emisor:LoadVars = new LoadVars();
var receptor:LoadVars = new LoadVars();
receptor.onLoad = function(correcto){
if (correcto) {
respuesta.text = "Todo fue correctamente :D\n";
respuesta.text += "El nombre del artículo es: "+receptor.nombre;
} else {
respuesta.text = "ERROR!!! Comprueba el código."
}
};
//
//Botón de enviar
on (release){
emisor.ID = IDproducto.text;
emisor.mensaje = "Mensaje de prueba";
emisor.sendAndLoad("buscador.php", receptor, "POST");
}
---
Y el PHP lo tienes justo arriba.
Se que es un bastante larga la respuesta, pero es una introducción a LoadVars con PHP y MySQL ^_^U
Perdón si se te hace demasiado extenso.
Si tienes problemas no dudes volver a preguntar.
PD: ten en cuenta que no tengo flash ni PHP a mano, así que el texto lo escribí en bloc de notas, es posible que hayan errores de sintaxis, perdón.
Suerte
---
Sel

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas