Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/12/2008, 08:41
Avatar de XLogus
XLogus
 
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 19
Respuesta: Ayuda con corrección de test (*URGENTE*)

La explicacion a eso es un poco extensa asi que la esbozare a grandes razgos:
Primero debemos hacer un script que muestra la pregunta con sus alternativas al azar para eso lo mejor seria tener dos tablas una con las preguntas y otra con las respuestas, ademas en la tabla respuestas un campo bool para saber cual es la correcta.

Y se invocarian 10 preguntas al azar con una consulta tipo:
Código:
SELECT * FROM preguntas ORDER BY RAND() LIMIT 10
Dentro del bucle que muestra las preguntas tendria que colocarse otro bucle que muestre las altenativas tambien al azar
Código:
SELECT alternativas.* FROM alternativas, preguntas WHERE alternativas.pregunta_id LIKE preguntas.pregunta_id ORDER BY RAND()
¿Como identifico que alternativa marcó, a que pregunta pertenece y cuál es la correcta?
En el primer bucle hay que hacer que se imprima un campo hidden donde se guarde el id de la pregunta, algo asi quedaría la estructura:
Código HTML:
<input type="hidden" name="pregunta1" value="id_pregunta">
<INPUT type=radio name="pregunta1_1" value="id_alternativa">Opcion1
<INPUT type=radio name="pregunta1_1" value="id_alternativa">Opcion2
<INPUT type=radio name="pregunta1_1" value="id_alternativa">Opcion3
Cuando los datos se envien a php sabremos el id de la pregunta y la opcion que marco el alumno, ahora habria que verificar si es correcta:
Código:
/// busca la alternativa correcta
SELECT alternativa.* FROM alternativas, preguntas WHERE preguntas.id_preguntas LIKE alternativas.id_pregunta AND alternativas.alternativa_correcta=1
/// comparamos con la marcada
 if ($row[alternativa_id]==$_POST['pregunta1_1']) {
    echo "Alternativa correcta";
} else {
  echo "Alternativa incorrecta";
}