Ayuda con consulta de calificaciones externa

Ayuda con consulta de calificaciones externa

de Axeloz Cruz -
Número de respuestas: 0

Saludos a todos, les escribo solicitando su ayuda, veran:

Necesito hacer una consulta de calificaciones externa en php y mysql, he probado la opcion de configurable reports desde moodle y utilizaba una consulta para que me generaba todas las calificaciones y despues las descarga a excel para quitar lo que no necesito ya que solo quiero la calificacion de los cuestionarios.
Intente adaptar esa consulta en php y pense que funcionaba, tengo un formulario donde pongo el username y al darle buscar se muestran las calificaciones de los cuestionarios y le agrego unos datos
Pense que estaba correcto porque hice pruebas con unos cuantos alumnos
Pero resulta que al hacer pruebas con todos veo que a algunos no muestra las calificaciones completas
Por ejemplo consulto el username ABC123 y me aparece la lista de calificaciones

tema 1 - calificacion

tema 2 - calificacion 

tema 3- calificación

tema 4 - calificacion

etc pueden ser hasta 19 temas

pero resulta que algunos que por ejemplo deben tener 4 calificaciones en la consulta solo muestra 2 y no muestra las de los 2 temas que faltan
por ejemplo consulto DEF456 que deberia tener califcaciones del tema1, 2 3 y 4. En la consulta solo me marca 2 
tema 1 - su calificacion
tema 2 - su calificacion

No se que me falle, en la tabla de grade_grades si esta registrada la calificación del cuestionario del tema y por ejemplo el username abc123 muestra el tema 4 y el usernam que también hizo el cuestionario del tema4 a este último no se le muestra
Pense que era por error que las id no coincidían o algo asi, pero creo que no es eso

esta es la consulta que uso
 $stmt = $conn->prepare("SELECT gi.itemname, gg.finalgrade
                                    FROM {$prefijo_tablas}grade_items gi
                                    JOIN {$prefijo_tablas}grade_grades gg
                                    ON gi.id = gg.itemid
                                    WHERE gg.userid = ? 
                                    AND gi.itemtype = 'mod' 
                                    AND gi.itemmodule = 'quiz'");

por cierto si la pongo en phpmyadmin funciona bien y muestra los registros que deben ser

uso moodle 4.2.10+

Promedio de valoraciones: -