Foros del Web » Programando para Internet » PHP »

Problema conceptual o no se...

Estas en el tema de Problema conceptual o no se... en el foro de PHP en Foros del Web. Hola todos tengo un problema bastante complicado hago la siguiente para traer de la base de datos preguntas y respuestas... Código PHP: <? $numero = ...
  #1 (permalink)  
Antiguo 16/04/2008, 06:49
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 2 meses
Puntos: 2
Exclamación Problema conceptual o no se...

Hola todos tengo un problema bastante complicado hago la siguiente para traer de la base de datos preguntas y respuestas...

Código PHP:
<?
$numero
=5;
$res mysql_query("SELECT * FROM preguntas WHERE idmodulo='1' ORDER BY RAND() LIMIT 0,".$numero);
while (
$p2 mysql_fetch_assoc($res)) 
            { 
         
echo 
"<tr><td bgcolor=#666666 height=25><div align=center><span class=style9><strong>
        "
.$p2['pregunta']."</strong></span></div></td></tr>"

$resultado =  mysql_query("SELECT * FROM respuestas WHERE idpregunta='".$p2['idpregunta']."' ");
while (
$linea mysql_fetch_assoc($resultado))

 echo 
"<tr><td bgcolor=#f4f4f4><span class=style13>&nbsp;&nbsp;".$linea["respuesta"]."<input name=respuesta[]  type=hidden id=respuesta[] value=".$linea['idrespuesta']." >
<input type=checkbox name=usuario[] id=usuario[]  value="
.$linea['correcta']." ></span></td></tr>
"
;
        }
    } 

?>
Y la cargo a la base de datos asi...

Código PHP:
include("../../../../include/conexion.php");
conectar();
$iduser $_POST['iduser'];
$idmodulo $_POST['modulo'];
$respuesta $_POST['respuesta'];
$usuario $_POST['usuario'];
$fecha $_POST['fecha'];
$total count$respuesta );
for( 
$i 0$i $total$i++ ) {
         
$res $respuesta[$i];
         if(isset(
$usuario[$i])){
             
$us $usuario[$i];
                } else{
                     
$us "";
                    }
mysql_query("INSERT INTO examen (iduser,idmodulo,idrespuesta,usuario,fecha) VALUES ('$iduser','$idmodulo','$res','$us','$fecha')");             
}

desconectar();
header ("Location: mails.php"); 
Mi problema esta en que me carga mal las filas...

por ejemplo...

Si la consulta me tira...

pregunta[1]
respuesta[1] (checbox correcta[0])
respuesta[2] (checbox correcta[1])

pregunta[2]
respuesta[3] (checbox correcta[0])
respuesta[4] (checbox correcta[1])

Aqui el valor 1 de correcta es verdadero y el 0 es falso...

pero cuando cargo a la base de datos me invierte o me carga mal los resultados... si el usuario selecciono la correcta me sucede lo siguiente

Tabla
id, idmoudlo, idrespuesta, respuestauser
1 1 1 1 (deberia ser 0 en respuesta del usuario)
1 1 2 0 (deberia ser 1 en respuesta del usuario)
1 1 3 1 (deberia ser 0 en respuesta del usuario)
1 1 4 1 (deberia ser 1 en respuesta del usuario)

En forma de ejemplo coloque esto...

Alquien me puede ayudar con este problema.... ¿es error conceptual de como consulto las preguntas y le pongo el valor al checbox?, ¿es un error del "for" para cargar en la base de datos?.... ¿Como lo puedo solucionar, algun ejemplo?

Gracias por ayudar.... saludos
  #2 (permalink)  
Antiguo 16/04/2008, 08:12
Avatar de Aeyon_flux  
Fecha de Ingreso: febrero-2005
Mensajes: 90
Antigüedad: 19 años, 2 meses
Puntos: 7
Re: Problema conceptual o no se...

Como estas enviando la variable de $_POST['respuesta']??

Porque la estas trabajando como si fuera un vector... pero no lo es...

Una idea..., es que quizas mandes las respuestas en una cadena separada por comas:

1,0,0,0,1,0,0

Y poner:

$respuesta = split(",", $_POST['respuesta']);


Pero nose como estas mandando esa variable...

Saludos
  #3 (permalink)  
Antiguo 17/04/2008, 05:59
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 2 meses
Puntos: 2
Exclamación Re: Problema conceptual o no se...

Fijate en el primer scritp, mando respuesta[], al enviarse me queda... respuesta[1], respuesta[2], respuesta[3]--- esto lo hago con input hidden

Y por eso hago el for, para recorrerlo y cargarlo a la base de datos...

Podrias pasarme un ejempliyo para ver lo que me ofreces

Saludos
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 19:00.