MySQL - ¿Como crear un trigger que muestre los cambios realizados en una tabla de la BD

 
Vista:
Imágen de perfil de Miguel

¿Como crear un trigger que muestre los cambios realizados en una tabla de la BD

Publicado por Miguel (2 intervenciones) el 11/02/2016 02:20:04
Muy buenas noches.... antes que nada debo darles las gracias a esta comunidad por que he aprendido mucho de esta web... eternamente agradecido.... tengo un problema y espero me ayuden.... Saben como crear un trigger pero que me indique cuando un usuario que inicie sesion en mi web, este registrado en una tabla llamada "usuarios" modifique o agregue registros en una tabla llamada "actividades"? Los trigger que he encontrado son para notificarme si el usuario de mysql ha realizado cambios en la tabla.. pero no me sirve ese tipo en especifico... alguien sabe como haría?

Supongamos que las tablas tengan los siguientes campos: Tabla Actividades: id, nombre_usuario, cargo, coordinación, fecha_actividad, hora_inicio, hora_salida.


Tabla Usuarios: id, usuario, contrasena, email.


Podría mostrar un cuadro de mensajes en una pagina aparte diciendo: El usuario "fulano" ha modificado el registro "xxxx" el dia "xxxx".

Es posible??? Mil gracias quien pueda ayudarme u orientarme.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 17
Ha aumentado su posición en 4 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

¿Como crear un trigger que muestre los cambios realizados en una tabla de la BD

Publicado por Hugo QN (32 intervenciones) el 12/02/2016 16:56:09
Hola Miguel.

al hacer alguna modificación en una tabla también debes pasar el usuario de sesión como dato de un campo que se registre en la misma tabla, ahora para esa tabla creas el trigguer que recupere los datos insertados (NEW.usuariosesion, NEW.campo2, ...) insertas a la tabla Actividades.
ahora quieres registrar cuando inicia sesión y cuando sale entonces, en la ventana de inicio de sesión cuando valida el usuario y clave si todo es correcto continua eso esta en tu codigo alli debes adicionar un insert into Actividades(...... ) y lo mismo en la opción salir al cerrar sesión.

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Como crear un trigger que muestre los cambios realizados en una tabla de la BD

Publicado por Leopoldo Taylhardat (44 intervenciones) el 12/02/2016 22:34:23
saludos...

Esto es para sql anywhere pero la base es la misma...
http://www.lawebdelprogramador.com/foros/Sybase-SQL-Anywhere/1139424-Como-realizar-un-Trigger-de-Update.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Miguel

¿Como crear un trigger que muestre los cambios realizados en una tabla de la BD

Publicado por Miguel (2 intervenciones) el 13/02/2016 01:54:28
Gracias por responder compañeros Hugo y Leopoldo...... les comento algo de como pensaba hacer.... estoy implementando el MVC... en el archivo modelo tengo una función:

function registrar($profesional,$ci,$cargo,$coordinacion,$nombre_actividad, $fecha, $empresa, $centro_trabajo, $area, $hora_inicio, $hora_salida, $estatus, $comentario){

$queryRegistrar = "INSERT INTO actividades_caracas1 (profesional, ci, cargo, coordinacion, nombre_actividad, fecha, empresa, centro_trabajo, area, hora_inicio, hora_salida, estatus, comentario)
VALUES ('".$profesional."', '".$ci."', '".$cargo."', '".$coordinacion."', '".$nombre_actividad."', '".$fecha."', '".$empresa."', '".$centro_trabajo."', '".$area."', '".$hora_inicio."', '".$hora_salida."', '".$estatus."', '".$comentario."')";
$registrar = mysqli_query($this->conn, $queryRegistrar) or die(mysqli_error());

Se me estaba ocurriendo crear una tabla llamada reportes_actividades y que tenga algunos campos similares a la tabla actividades_caracas1 campos como id, ci, profesional, coordinacion y fecha.... y justo antes del $queryRegistrar....................... colocar otra sentencia:

$queryRegistrar = "INSERT INTO reportes_actividades (de alguna manera tomar el valor de la variable $profesional, ci,) e insertar tambien en esa tabla esos valores antes mencionados.... para luego hacer una consulta y mostrarlos con un echo... es posible algo asi? me disculpan si no me explico bien... tengo ese problema jajajaja
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar