Cómo obtener las notas de cuestionarios de Moodle desde base de datos
Anuncio:
En esta ocasión, vamos a ver cómo obtener las notas de los cuestionarios de Moodle desde la base de datos MySQL.
Si tenemos un sistema de educación online como Moodle y queremos sincronizar los resultados de las notas con el sistema de gestión de una empresa para tener ahí los datos, podemos hacerlo consultando directamente las notas obtenidas por los alumnos en Moodle.
Tenemos que tener en cuenta las siguientes tablas:
Tabla de usuarios en Moodle
moodle.mdl_user
En esta tabla se registran los usuarios de Moodle, aquí tenemos un atributo llamado username que es el nombre del usuario en Moodle. En esta campo, cuando creamos un usuario en Moodle podemos asignarle el código del empleado en la empresa o su email corporativo, de modo que así podemos hacer el match entre Moodle y el sistema de nuestra organización.
Tabla de cursos en Moodle
La tabla donde se guardan los cursos en Moodle es:
moodle.mdl_course
De aquí podremos sacar todos los cursos disponibles en Moodle o filtrar con el id del curso con un:
SELECT * FROM moodle.mdl_course WHERE id = 1;
Tabla de cuestionarios en Moodle
Ahora tenemos que poder sacar los cuestionarios asociados a un Curso y esto lo haremos de la tabla mdl_quiz:
SELECT * FROM moodle.mdl_quiz where course = 1;
El atributo course es el ID del curso en la tabla moodle.mdl_course.
Si quisiéramos sacar las preguntas y respuestas de un determinado cuestionario tenemos que consultar las tablas mdl_question y mdl_question_answers respectivamente
SELECT * FROM moodle.mdl_question;
SELECT * FROM moodle.mdl_question_answers;
Una pregunta no está asociada a un único cuestionario así que no verás aqui un id que relacione con el cuestionario. Sin embargo una respuesta si que está asociada a una pregunta por lo que encontrarás el atributo question que es el ID de la pregunta a la que está asociada.
Tabla de notas en Moodle
Por último, llegamos a la tabla donde se encuentran los intentos realizados por los alumnos para un determinado cuestionario y su respectiva nota. Esto lo vamos a encontrar en la tabla mdl_quiz_attempts
SELECT * FROM moodle.mdl_quiz_attempts WHERE quiz = ID_QUIZ;
Donde ID_QUIZ es el id del cuestionario del que queremos saber las notas. En esta tabla tenemos un atributo que se llama sumgrades, aquí se almacena la nota del usuario en dicho intento del cuestionario.
Ya sabes cómo obtener las notas de los cuestionarios de Moodle desde la base de datos MySQL.
Espero que te haya sido de utilidad!