desarrollo de un bloque

Re: desarrollo de un bloque

de cristian andres rodriguez ortega -
Número de respuestas: 2

Hola paco... Muchas gracias por tu aporte he logrado mostrar en un bloque aparte los alumnos, me gustaría saber si hay alguna forma de saber a nivel de base de datos cuando un alumno ha realizado una actividad gracias de antemano.

En respuesta a cristian andres rodriguez ortega

Re: desarrollo de un bloque

de Franco Pantoja -
Imagen de Moodlers de gran ayuda

Hola Cristian,

tienes varias opciones.

Puedes utiizar las propias funciones del módulo en concreto, que deberían localizarse en mod/mymod/locallib.php (o en cualqier otra librería importada), nos encontramos (por ejemplo en quiz) con algunas tan útiles como

/**
 * @param int $quizid The quiz id.
 * @return bool whether this quiz has any (non-preview) attempts.
 */
function quiz_has_attempts($quizid) {
    global $DB;
    return $DB->record_exists('quiz_attempts', array('quiz' => $quizid, 'preview' => 0));
}
$attempts = quiz_get_user_attempts($quizid, $userid);

De esta sencilla forma, en sólo dos pasos podemos saber si un quiz ha tenido algún intento y luego obtener información sobre el intento de un usuario en particular.

Recuerda que para obtener la información de módulos por curso, puede serte muy útil

$cs = get_coursemodules_in_course('quiz', $courseid );

Desde donde podemos encontrar la información sobre el id, tanto del módulo como de la instancia.

La otra opción es atacar directamente a la base de datos sonrisa

Depende del recurso del que quieras tener información, seleccionas la consulta que pueda encajarte, {quiz_attempts} en el ejemplo que vemos, donde podemos filtrar por quiz, userid y attempt, bien en {scorm_scoes_track}, del que podemos conocer los intentos por usuario.


Espero que pueda serte útil


Saludos!!