Recurro a este a grupo porque no encuentro solución a lo que quiero hacer que es lo siguiente.
En un sistema para evaluar alumnos tengo una tabla examen donde guardo las propiedades del mismo, como la materia, el nombre, maestro etc. una tabla auxpregunta y otra auxrespuesta
auxpregunta
-------------------------
id_pregunta - autoincrement
id_examen - int
pregunta - varchar 100
respuesta - varchar 100
auxrespuesta
-------------------------
id_examen - int
id_alumno - int
id_pregunta - int
respuesta - varchar 100
en auxpregunta guardo las preguntas de un examen asociado con el id_examen, cuando el alumno responde dichas preguntas se guardan las respuesas en auxrespuestas y asocio las respuestas con el id_examen y id_pregunta para ordenarlas
en php extraigo las respuestas del examen y las respuestas del alumno para compararlas del siguiente modo.
Código PHP:
//Respuestas del alumno
$respuestaalum = mysqli_query(conexion(),"SELECT respuesta FROM auxrespuestas WHERE id_examen = '$exa' AND id_alumno = '$alum' GROUP by id_pregunta ORDER BY id_pregunta ASC");
//Respuestas correctas
$respuestas = mysqli_query(conexion(),"SELECT respuesta from auxpregunta
WHERE id_examen = '$exa' GROUP by id_pregunta ORDER BY id_pregunta ASC ");
Necesito saber cuantas respuestas correctas tiene el alumno para hacer la evaluacion
intente con dos while pero me di cuenta que solo me comparaba el primer resultado con todos los demas
Código PHP:
while ($row = $respuestas->fetch_array()) {
while($value = $respuestaalum->fetch_array()){
if ($row['respuesta']==$value['respuesta']) {
$ca+=1;
}
}
}
$promedio = 100/$cantidad;
$calificacion = $ca*$promedio;
Código:
Con esta consulta obtengo las respuestas ordenadas pero solo del lado de la tabla auxpregunta y si cambio el gruop by a auxrespuestas.id_pregunta obtengo las respuestas ordenadas del lado de la tabla auxrespuestasSELECT auxrespuestas.id_respuesta, auxrespuestas.id_alumno, auxpregunta.id_pregunta, auxpregunta.respuesta FROM auxrespuestas, auxpregunta WHERE auxrespuestas.id_examen = 1 AND (auxrespuestas.id_alumno = 10320865 and auxpregunta.id_examen=1)GROUP by auxpregunta.id_pregunta ORDER BY auxpregunta.id_pregunta ASC
Espero me puedan ayudar gracias por la atencion