Comunidad de diseño web y desarrollo en internet online

Crear cuestionario de mysql a flash

Citar            
MensajeEscrito el 08 Nov 2009 08:11 pm
Hola! estoy armando un sistema de evaluacion en flash, necesito mostrar las preguntas y las opciones que estan almacenadas en una base de datos en mysql, y de esta misma manera la respuesta pase de flash a mysql.
He encontrado encuestas en la red, pero no son lo que necesito. Espero me ayuden Grax!

Por norelena

18 de clabLevel



Genero:Femenino  

Ingeniera, Inteligente, Irresistible

firefox
Citar            
MensajeEscrito el 08 Nov 2009 10:57 pm
es facil, nadamas tienes que crear un archivo PHP que inserte y lea la base de datos de MySQL, ya que flash por si solo no puede, mira te dejo un ejemplo rapido, aunque no se que version de flash estes utilizando, te dejo ejemplo con AS3 que es lo mas rapido y efectivo:


pero primero necesitamos estructurar la encueesta:

Pregunta: Que musica te gusta?

Posibles Respuestas:

1.- Rock
2.- Pop
3.- HipHop

Ahora suponiendo tenemos esas 3 posibles respuestas:

rock = 1
pop = 2
hiphop = 3

ahora si, te dejo el ejemplo, nadamas aclare los valores que manejo:

en MySql creas una nueva BD(base de datos) e insertas la siguiente tabla:

Código MySQL :

CREATE TABLE `preguntas_y_respuestas` (
  `pregunta` int(11) NOT NULL,
  `opcion1` int(11) NOT NULL,
  `opcion2` int(11) NOT NULL,
  `opcion3` int(11) NOT NULL
) ;

INSERT INTO `encuesta`.`preguntas_y_respuestas` (
`pregunta` ,
`opcion1` ,
`opcion2` ,
`opcion3`
)
VALUES (
'1', '0', '0', '0'
);



Tu nomas copias y pegas, y listo... MySql crea lo que vas a necesitar...

bueno, continuamos con el FLASH, sera muy simple, el problema que no queda espacio para poner un super tutorial de como hacer todo ese show en flash, asi que ire de rapido, haber si entiendes mas o menos de que va:

Ah, el ejemplo esta en AS3, sorry si usas AS2, te recomiendo te vayas pasando a AS3, es mejor, y mas facil...

PRIMER FOTOGRAMA PEGAS ESTO: Es para insertar la opcion presionada en la base de datos...

Código ActionScript :

import flash.net.*;
stop();

//ENVIAR DATOS
var php:String = "php/enviar.php";
var req:URLRequest = new URLRequest(php);
var vars:URLVariables = new URLVariables();
req.method = URLRequestMethod.POST;
req.data = vars;

//se que no es correcto pero por motivos de tiempo simplemente duplique el codigo
//Esta seria la opcion de ROCK
function opcion1(e:MouseEvent):void{
   vars.opcion_FLASH = "opcion1"; //esta seria la opcion seleccionada
   sendToURL(req);
   gotoAndStop(2);
}
enviar_mc.enviar_rock.addEventListener(MouseEvent.CLICK, opcion1);

//Esta seria la opcion de POP
function opcion2(e:MouseEvent):void{
   vars.opcion_FLASH = "opcion2"; //esta seria la opcion seleccionada
   sendToURL(req);
   gotoAndStop(2);
}
enviar_mc.enviar_pop.addEventListener(MouseEvent.CLICK, opcion2);

//Esta seria la opcion de POP
function opcion3(e:MouseEvent):void{
   vars.opcion_FLASH = "opcion3"; //esta seria la opcion seleccionada
   sendToURL(req);
   gotoAndStop(2);
}
enviar_mc.enviar_hiphop.addEventListener(MouseEvent.CLICK, opcion3);


La forma anterior no es lo correcto pero pues no tengo mucho tiempo para acomodarlo, todas formas si funciona, lo acabo de hacer exclusivo para tu problemilla, y esta testeado...


SEGUNDO FOTOGRAMA PEGAS ESTO: Es para los resultados una vez precionada la opcion.

Código ActionScript :

//RECIBIR DATOS
var php2:String = "php/recibir.php";
var request:URLRequest = new URLRequest(php2);
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.load(request);

function alCompletar(e:Event):void{
   resultado1.text = "" + e.target.data["opcion1"];
   resultado2.text = "" + e.target.data["opcion2"];
   resultado3.text = "" + e.target.data["opcion3"];
}
loader.addEventListener(Event.COMPLETE, alCompletar);


AHORA, VOLVEMOS AL PRIMER FOTOGRAMA:
- creamos 3 botones,
boton1: nombre de instancia le pones "enviar_rock"
boton2: nombre de instancia le pones "enviar_pop"
boton3: nombre de instancia le pones "enviar_hiphop"


AHORA NOS VAMOS AL SEGUNDO FOTOGRAMA:
- creamos 3 areas de texto dinamicas
area de texto1: nombre de instancia le pones "resultado1"
area de texto1: nombre de instancia le pones "resultado2"
area de texto1: nombre de instancia le pones "resultado3"

OK!, creo que es todo, lo del flash


Creas una carpeta donde guardes el archivo flash y le pones "PHP", hay vas a guardar estos dos archivos, "NO SE TE OLVIDE CAMBIAR LOS DATOS DE (LOCALHOST, USUARIO, PASSWORD, BASE DE DATOS), si no pues no va funcionar...

enviar.php:

Código PHP :

<?php

$link = mysql_connect("localhost", "usuario", "contraseña");
      mysql_select_db("basededatos");

$opcion_PHP = "".$_POST['opcion_FLASH']."";

$cons = "UPDATE preguntas_y_respuestas SET $opcion_PHP=$opcion_PHP+1";
mysql_query($cons);
mysql_close($link);

?>



recibir.php

Código PHP :

<?php

$link = mysql_connect("localhost", "usuario", "contraseña");
      mysql_select_db("basededatos");

$sql = "SELECT * FROM preguntas_y_respuestas"; 
$res = mysql_query($sql);

$resultado1 = mysql_result($res, 0, "opcion1");
$resultado2 = mysql_result($res, 0, "opcion2");
$resultado3 = mysql_result($res, 0, "opcion3");

echo "opcion1=".$resultado1;
echo "&opcion2=".$resultado2;
echo "&opcion3=".$resultado3;

?>


listo, los guardas donde te dije, y es todo, creo... cualquier cosa me dices, MIRA TE DEJO EL LINK PARA KE DESCARGUES EL ARCHIVO DE UN HOST DE PRUEBAS QUE TENGO...

Descargar Archivos!





Smokingwel U_U

Por smokingwel

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Nov 2009 04:09 am
Hey! muchas gracias! yo trabajo con as2 flash 8 por ahora, lamentablemente el archivo que adjuntaste no me funciono, quisiera saber si hay algun modo de que me puedas ayudar pero con as2, y en cuanto a las preguntas pues necesito que me salgan de manera aleaoria, por ejemplo almacenar unas 30 preguntas y que al abrirlo en flash salgan 10, pero siempre combinaditas.
gracias por tu dedicacion!
salu2

Por norelena

18 de clabLevel



Genero:Femenino  

Ingeniera, Inteligente, Irresistible

firefox
Citar            
MensajeEscrito el 11 Nov 2009 10:58 am
uii, ahora si ya no te puedo ayudar, casi no trabajo con AS2, pero en terminos generales tendrias que hacerlo con XML.

creas todas las posibles preguntas y respuestas, y seleccionas aleatoriamente X cantidad de "Nodos", tambien tendrias que manejarles un ID, para hacer la insercion de resultados en mysql.

bueno eso es el metodo que deberias seguir, como no se, como te digo, no manejo mucho AS2, y aunque es muy similar prefiero no meterme en esos asuntos.

saludos, y suerte con tu proyecto...


Smokingwel U_U

Por smokingwel

16 de clabLevel



 

firefox

 

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