Informe alumnos Login y Logout

Informe alumnos Login y Logout

de Rachela U -
Número de respuestas: 9

Hola a todxs!

Necesito un informe de alumnos con el login y el logout de cada día. ¿Tenéis alguna idea de dónde puedo encontrar esto? He estado mirando en registros y en tiempo de dedicación de curso pero no es lo que busco...

Espero vuestra respuesta.

Mil gracias de antemano.

Saludos.

Promedio de valoraciones: -
En respuesta a Rachela U

Re: Informe alumnos Login y Logout

de Sandra Piedrabuena -

Hola Rachela

Deberias leer el log.

SELECT l.userid,u.lastname, u.firstname, l.action,(DATE_FORMAT(FROM_UNIXTIME(l.time),'%d/%m/%Y %H:%i:%s')) as fecha
FROM mdl_log AS l
JOIN mdl_user AS u ON l.userid = u.id
Where
l.userid <> 1 #invitado
AND l.time  > 1546214400 #>12/31/2018
AND l.action IN ('login', 'logout') 
ORDER BY l.time DESC, l.userid, l.action

Esta consulta muestra la fecha de login y logout de los usuarios desde el 01/01/2019 y excluye al invitado.

El login es en la portada, en ese contexto no es alumno, es un usuario autenticado; cuando al usuario se le asigna un rol, ahi se convierte en alumno o profesor u otro rol.

Espero haberme explicado.

Saludos

En respuesta a Sandra Piedrabuena

Re: Informe alumnos Login y Logout

de Laura Ruiz -

Sandra, me viene perfecto esto que indicas.

Yo necesito un tabla con nombre, apellidos, DNI, primera conexión y ultima conexión.

No tengo ni idea de como empezar....me podrías guiar en el proceso.

Se entrar al cPanel y a la base de datos y encontrar el mdl_log, pero está vacío...

¿Qué tengo que hacer?


Muchas gracias

Adjunto Captura de pantalla 2019-08-27 a las 22.28.21.png
En respuesta a Laura Ruiz

Re: Informe alumnos Login y Logout

de Miguel Angel Velasquez Teran -
Imagen de Moodlers de gran ayuda

Hola, para obtener la información que solicitas no necesitas utilizar la tabla log, en tu caso como está vacio seguro moodle esta trabajando con la tabla logstore_standard_log, los datos que necesitas están directo en la tabla user:

SELECT u.id,u.username,u.firstname, u.lastname, (DATE_FORMAT(FROM_UNIXTIME(u.firstaccess),'%d/%m/%Y %H:%i:%s')) AS primer_acceso, (DATE_FORMAT(FROM_UNIXTIME(u.lastaccess),'%d/%m/%Y %H:%i:%s')) AS ultimo_acceso FROM mdl_user AS u WHERE u.id = XXXX

Reemplaza el prefijo de la tabla user por el que utilizas, y en XXXX introduce el id del usuario que quieres consultar.


Saludos!




En respuesta a Miguel Angel Velasquez Teran

Re: Informe alumnos Login y Logout

de Laura Ruiz -

Perdoname Miguel, pero me suena a chino todo lo que me estás diciendo, soy muy muy novata.

Yo se llegar hasta logstore_standard_log, y me sale lo que te capturo.

1.- ¿Dónde tengo que poner eso que me indicas? 

2.- Mi usuario es admin y quiero ver la tabla de todos los alumnos, ¿Donde tengo que poner lo de admin y que tengo que poner en el XXX?


Gracias por la paciencia, gracias a personas como tú conseguimos muchos ampliar conocimientos y ser autosuficientes.


Un saludo

Adjunto Captura de pantalla 2019-08-28 a las 10.48.53.jpg
En respuesta a Laura Ruiz

Re: Informe alumnos Login y Logout

de Miguel Angel Velasquez Teran -
Imagen de Moodlers de gran ayuda
Hola

Primero busca la tabla mdl_user, identifica el ID del usuario que quieres consultar, si quieres consultar de todos los usuarios simplemente quita todo el texto desde WHERE, los datos que requieres está en en la tabla mdl_user directamente, no es necesario consultar en las tablas de log o log_stantard, en tu phpMyAdmin ingresa a la pestana SQL, ahi puedes introducir las consultas, puedes pegar la consulta reemplazando XXXXX con el ID del usuario que quieres consultar:

SELECT u.id,u.username,u.firstname, u.lastname, (DATE_FORMAT(FROM_UNIXTIME(u.firstaccess),'%d/%m/%Y %H:%i:%s')) AS primer_acceso, (DATE_FORMAT(FROM_UNIXTIME(u.lastaccess),'%d/%m/%Y %H:%i:%s')) AS ultimo_acceso FROM mdl_user AS u WHERE u.id = XXXX

Si lo que quieres es sacar un reporte general de todos los usuarios:

SELECT u.id,u.username,u.firstname, u.lastname, (DATE_FORMAT(FROM_UNIXTIME(u.firstaccess),'%d/%m/%Y %H:%i:%s')) AS primer_acceso, (DATE_FORMAT(FROM_UNIXTIME(u.lastaccess),'%d/%m/%Y %H:%i:%s')) AS ultimo_acceso FROM mdl_user AS u

Saludos cordiales
En respuesta a Miguel Angel Velasquez Teran

Re: Informe alumnos Login y Logout

de Laura Ruiz -
Muchísimas gracias Miguel,
Con tus explicaciones he podido conseguir lo que quería.

Te estoy muy agradecida

Un abrazo
En respuesta a Miguel Angel Velasquez Teran

Re: Informe alumnos Login y Logout

de Laura Ruiz -
Miguel, muy buenas otra vez.

¿Cómo puedo sacar el reporte de todos los alumnos en una determinada fecha? Por ejemplo quiero solo sacar el reporte de todos los alumnos que se han conectado a partir del 25/08/2019...
Y como puedo sacar el reporte de todos los alumnos de un solo grupo???

Muchas gracias
En respuesta a Laura Ruiz

Re: Informe alumnos Login y Logout

de Sandra Piedrabuena -
Hola Laura.
En la pestaña SQL escribe.
SELECT u.lastname,u.firstname,FROM_UNIXTIME( u.firstaccess),
FROM_UNIXTIME(u.lastaccess),FROM_UNIXTIME(u.lastlogin) FROM mdl_user as u
Es la consulta que te dejó Miguel solo que no tiene alias.
Saludos