Comunidad de diseño web y desarrollo en internet online

Ayuda:Problemas al cargar el COMBOBOX!!!!!!

Citar            
MensajeEscrito el 04 Dic 2008 12:14 pm
Hola chic@s!! Tengo un problema, estoy haciendo un combobox en flash donde muestro una serie de preguntas que tengo en una de las tablas de mi base de datos, pues bien una vez que elijo una pregunta me la muestra en un TextInput, y mi problema viene ahora... una vez q elijo la pregunta que kiero además de mostrarme la pregunta en el textImput kiero q me muestre sus 3 respuestas correspondientes en 3 textInput diferentes. Os dejo aki mi código para ver si me podeis echar alguna manilla por favorrrrrrrrrrrr.!!!!Mil gracias.

AS de flash:
System.useCodepage = true;
import flash.net.*;
import mx.controls.Alert;
import mx.controls.Button;
import mx.controls.*;
import mx.containers.*;
Stage.showMenu=false;

this.createClassObject(ComboBox, "pregunta_cb", 1, {_x:398.4, _y:192.4});

pregunta_cb.setSize(427.0, 26.4);

var question:Object = new Object();
question.change = function(evt_obj:Object) {
var item_obj_que:Object = pregunta_cb.text;
pregunta_txt.text = item_obj_que;
};
pregunta_cb.addEventListener("change", question);

Alert.okLabel = "Aceptar";
Alert.buttonHeight = 22;
Alert.buttonWidth = 100;
var envio_lv:LoadVars = new LoadVars();

var Datos:LoadVars = new LoadVars();

Datos.load("http://localhost/web/modificarCuestionario.php", Datos, "POST");

Datos.onLoad = function(success:Boolean)
{
if (success)
{
for(j=0;this["nomb"+j]!=undefined;j++)
{
pregunta_cb.addItem (this["nomb"+j]);
}
}
else
{
trace("no se cargó la informacion de la base de datos");
}
};

//Funcion para activar el ComboBox
selectMenu = new Object();
//Creamos la funcion selectMenu, que es nuestra apliacion principal
//para el combobox. Declaramos esta funcion como un nuevo objeto.
selectMenu.change = function(evento) {
/* selectMenu al ser un objeto, podemos agregarle cualquier propiedad
valor u opcion, en este caso otra funcion, la cual nombraremos "evento" */
trace("Seleccionado "+evento.target.value);
cuestion.text = pregunta_cb.text;

var Datos2:LoadVars = new LoadVars();
Datos2.cuestionL = cuestion.text;
Datos2.sendAndLoad("http://localhost/web/modificarCuestionario2.php", Datos2, "POST");

Datos2.onLoad = function(success:Boolean)
{
if (success)
{
res1.text = Datos2['res1'];
res2.text = Datos2['res2'];
res3.text = Datos2['res3'];
}
else
{
trace("no se cargó la informacion de la base de datos");
}
};

};
pregunta_cb.addEventListener("change", selectMenu);
//aplicamos la funcion creada a mi box y listo!!
this.carga._visible=false;

stop();

PHP: modificarCuestionario.php
<?php
$link = mysql_connect("localhost", "root", "");
mysql_select_db("mi_bd", $link);

$consulta1= mysql_query(utf8_decode("SELECT pregunta FROM preguntas ORDER BY idPregunta"));

$i=0;
$j=1;
$cade="";
while($rows=mysql_fetch_array($consulta1))
{
$cade.="&nomb".$i."=".$rows["pregunta"];
$i++;
}
echo "&cade=$cade";


mysql_close();
?>


PHP: modificarCuestionario2.php
<?php
$link = mysql_connect("localhost", "root", "");
mysql_select_db("mi_bd", $link);

$preg = $_POST['cuestionL'];

$selec = mysql_query(utf8_decode("SELECT idPregunta FROM preguntas WHERE pregunta =".$preg));
$lista = mysql_fetch_array($selec);
$consulta= mysql_query(utf8_decode("SELECT respuesta FROM respuestas WHERE idPregunta =".$lista['idPregunta']));

$i=1;
while($row = mysql_fetch_array($consulta))
{
echo "&res".$i."=".$row['respuesta'];
$i++;
}

mysql_free_result($consulta);
mysql_close();
?>

Por crisLo

12 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Dic 2008 05:49 pm
Si no he entendido mal lo que necesitas es lo siguiente
Selecciono pregunta 1.
Carga la pregunta y las 3 posibles respuestas. " en sus respectivos sitios"
Haber ya de primeras te digo que te has complicado un poco creo.
Porque no haces solo una tabla en la base de datos, la tabla llamala preguntas y hazle 3 campos, o dos sino quieres id, y los otros dos campos que sean pregunta y respuesta.
En consequencia deberias cargar los datos de la siguiente manera:
$preg = $_POST['cuestionL']; //dejalo tal cual
$selec = mysql_query("SELECT * FROM preguntas WHERE pregunta = '".$preg."'");
$i=1;
while($row = mysql_fetch_array($consulta))
{
echo "&res".$i."=".$row['respuesta']."&pregunta=".$preg;
$i++;
}

Luego en el actionScript acuerdate de cambiar el pregunta_txt = this.pregunta (donde this sera tu LoadVars)
De esta forma sino me equivoco obtienes el mismo resultado, en un archivo, ya que te cargara en el flash la pregunta como querias y la respuesta/as que haya.

Por elribonazo

20 de clabLevel



 

firefox

 

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