BASE DE DATOS

BASE DE DATOS

de Programador JC -
Número de respuestas: 5

NECESITO SABER CUAL ES LA TABLA DE LA BASE DE DATOS QUE GUARDA EL ID DEL ALUMNO Y EL ID DEL CURSO EN EL CUAL ESTA INSERTO.

ESPERO SU AYUDA ...!

pensativo

Promedio de valoraciones: -
En respuesta a Programador JC

Re: BASE DE DATOS

de Sandra Milena Mendoza Amado -

La tabla que guarda el id del alumno es la tabla users, y el curso en el cual esta inscrito en groups_members.  Tendrias que hacer una consulta donde utilices las tablas users, groups_members, groups y course para saber exactamente el nombre del curso y e nombre del usuario.

Espero sea de tu ayuda esta informacion.gran sonrisa

En respuesta a Sandra Milena Mendoza Amado

Re: BASE DE DATOS

de Xavier Paz -

Eso no es del todo correcto Sandra, no al menos en las últimas versiones de Moodle. La forma de obtener los datos que menciona Programador JC es mirando en varias tablas: usuarios, cursos, roles, contextos y asignación de roles. Si busca un poco a lo largo de este mismo foro, encontrará la consulta exacta para obtener esa información.

En respuesta a Xavier Paz

Re: BASE DE DATOS

de Alejandro Michavila Pallarés -

A continuación se muestran las tablas que guardan toda la información de los usuarios:

Un ejemplo de SQL para sacar los alumnos de un curso:

 

SELECT mdl_course.fullname, mdl_user.username FROM mdl_course

INNER JOIN mdl_context ON mdl_context.instanceid = mdl_course.id

INNER JOIN mdl_role_assignments ON mdl_context.id = mdl_role_assignments.contextid

INNER JOIN mdl_role ON mdl_role.id = mdl_role_assignments.roleid

INNER JOIN mdl_user ON mdl_user.id = mdl_role_assignments.userid

WHERE mdl_role.id = 5

 

Y el mismo ejemplo sin usar SQL:

 

$role     = get_record('role', array('shortname' => 'student'));
$roleid   = (int) $role->id;
$context  = get_context_instance(CONTEXT_COURSE, $courseid);
$students = get_role_users($roleid, $context);

 

Espero que sean de utilidad, saludos.

En respuesta a Alejandro Michavila Pallarés

Re: BASE DE DATOS

de Ramiro Martínez D'Elía -

Buenas, yo necesitaria asignar alumnos a cursos mediante consultas SQL, para agilizar el asunto.

Me podrían indicar ne que tablas exactamente tengo que insertar los registros ?.

Saludos.

En respuesta a Ramiro Martínez D'Elía

Re: BASE DE DATOS

de Sandra Piedrabuena -

Hola. En que versión de Moodle estás?

Te cuento con la 1.9

La tabla que relaciona alumnos con cursos es la mdl_role_assigments.

roleid = 5

contextid = mdl_context.id (el id de la tabla mdl_context)

userid = mdl_user.id (el id de la tabla mdl_user).

Fué laborioso; mis pasos fueron:

  1. Cargué los usuarios por la plataforma, con un csv
  2. Cargué categoria y cursos directo a la BD.
  3. Busqué los id de la tablas anterior y por consulta SQL,
  4. armé y cargué la tabla mdl_role_assignments a la BD

Espero te sirva.

Salu2.