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> ".$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