TEMA : bitácora de actividades o historial mysql php - Foro de Tu Informática Fácil

TEMA : bitácora de actividades o historial mysql php

bitácora de actividades o historial mysql php 10 Sep 2015, 04:31 #272

  • snakev
  • Avatar de snakev
  • DESCONECTADO
  • Karma:

Hola a todos buen dia, estoy tratando de crear una bitácora o historial de actividades en cual me vaya acumulando los cambios que realizó cada usuario, tengo los siguientes datos pero aun no logro hacer que se vayan acumulando ya que el usuario al hacer un cambio, se cambia el campo que modificó sin que se guarde, espero me puedan orientar muchas gracias.

bitácora de actividades o historial mysql php 10 Sep 2015, 11:49 #273

  • luigy69
  • Avatar de luigy69
  • DESCONECTADO
  • Karma:

Hola, en mi opinión deberías utilizar un Trigger por actualización (Trigger for update) y lo configuras para que se lance antes (before) de la actualización, de esta manera la info en los campos es la original antes del cambio, en el cuerpo del Trigger colocas la instrucción insert a tu tabla de bitácora.

 

Te pongo la instrucción MySql,

 

CREATE
[DEFINER = { user | CURRENT_USER }]
TRIGGER trigger_name
trigger_time trigger_event
ON tbl_name FOR EACH ROW
trigger_body
trigger_time: { BEFORE | AFTER }
trigger_event: { INSERT | UPDATE | DELETE }

 

Saludos.

bitácora de actividades o historial mysql php 10 Sep 2015, 20:50 #274

  • snakev
  • Avatar de snakev
  • DESCONECTADO
  • Karma:

Muchas gracias por tu auyda luigy69, lo que aun no acabo de entender es como integrar esto a php, te muestro como est ai codigo:

 

<?php
include('include/genuine.php');
include('ps_pagination.php');

include ('db.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Klar bitácora de actividades</title>
<link rel="stylesheet" href="/css/audit.css" type="text/css" />
<!---->
<link rel="stylesheet" href="/export/src/facebox.css" type="text/css" />
<script src="/export/lib/jquery.js" type="text/javascript"></script>
<script src="/export/src/facebox.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(document).ready(function($)
{
$('a[rel*=facebox]').facebox({
loadingImage : 'export/src/loading.gif',
closeImage : 'export/src/closelabel.png'
})
})
</script>

<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
}

li {
float: left;
}

a:link, a:visited {
display: inline;
width: 150px;
font-weight: bold;
color: #FFFFFF;
background-color:#e7540e;
text-align: center;
padding: 4px;
text-decoration: none;
text-transform: uppercase;
font-family:
Arial, Helvetica, sans-serif;

}

a:hover, a:active {
background-color: #666;}

#user { font-family:Arial, Helvetica, sans-serif; font-size:18px; font-weight:bold; color:#FFF;}
</style>
</head>
<body class="bodyko">
<!--html form-->
<div id="contain">

<div id="adminbar-outer" class="radius-bottom radius">
<img src="/images/logo_header_bitacora.jpg" width="930" height="180" /></div>

<?php
$oper_id=$_SESSION;
$sql="SELECT * FROM tblaudit where useid = '$oper_id'";
$qry=mysql_query($sql);
while ($row=mysql_fetch_array($qry)) {
?>




<div id="user"><img src="/images/user.png" width="48" height="42" /> Bienvenido: <?php echo $row; ?><br />Línea IC</div><?php } ?><br />

<div id="panel-outer" class="radius" style="opacity: 1;">

<div id="panel" class="radius">

<ul>
<li> <a href="#">Inicio |</a></li>
<li> <a href="/logtracker.php">Actividades |</a> </li>
<li> <a href="/excel.php">Exportar a excel |</a> </li>
<li> <a href="/logout.php">salir</a> </li>
<div class="clearyo"></div>
</ul>
<div id="content" class="clearyo">
<br />

<form id="login" name="login" method="post" action="login.php" onSubmit="return validateForm">
<table id="tablemo" align="center" bordercolor="#e7540e" border="1" cellspacing="0">
<tr>
<th width="80">
# Bitácora
</th>
<!-- <th width="100">
Nombre de bitácora
</th>-->
<th width="250">
Usuario que elaboró
</th>
<th width="200">
Actividad
</th>
<th width="200">
Ubicación
</th>
<th width="200">
Observaciones
</th>
<th width="200">
Usuario que modificó
</th>
<th width="100">
Fecha y Hora de modificación
</th>
</tr>
<?php
$sql=" SELECT * FROM tblcheck INNER JOIN ap_form_10589 ,ap_users GROUP BY (id) DESC";
$pager = new PS_Pagination($con, $sql, 10);
$rs = $pager->paginate();
while($row=mysql_fetch_array($rs)) {
?>


<tr>
<td align="center">
<?php echo $row; ?>
</td>

<!-- <td align="center">
<?php echo $row; ?>
</td>-->
<td align="center">
<?php if($row=="1"){
echo"Armando Figueroa";
}
if($row=="2"){
echo"Jorge Guerra";
}
if($row=="3"){
echo"Aldair Barroso";
}
if($row=="4"){
echo"Mayra Amezcua";
} ?>
</td>
<td align="center">
<?php echo $row; ?>
</td>
<td align="center">
<?php echo $row; ?>
</td>
<td align="center">
<?php echo $row; ?>
</td>
<!-- <td align="center">
<?php echo $row; ?>
</td>-->
<td align="center">
<?php if($row=="1"){
echo"Armando Figueroa";
}
if($row=="2"){
echo"Jorge Guerra";
}
if($row=="3"){
echo"Aldair Barroso";
}
if($row=="4"){
echo"Mayra Amezcua";
} ?>
</td>

<td align="center">
<?php echo $row; ?>
</td>
</tr>
<?php } ?>

</table><br />
<?php echo '<div style="text-align:center">'.$pager->renderFullNav().'</div>'; ?>


</form>
</div>
<div id="footerpo">Copyright © 2015 Bitácora Klar v1.1. Derechos Reservados.</div>
</div>
</div>
</div>
</div>
<!--end of html form-->
</body>
</html>

mi pregunta es :la instrucción que me diste del trigger donde la coloco? dentro de este php, he buscado bastante al repecto y no viene la sintaxis para php solo para mysq, agradezco de antemando tu atención

bitácora de actividades o historial mysql php 10 Sep 2015, 21:08 #275

  • luigy69
  • Avatar de luigy69
  • DESCONECTADO
  • Karma:

El Trigger va en la BBDD MySQL no en el código PHP, un ejemplo,

 

CREATE TRIGGER inserta_bitacora BEFORE UPDATE

ON tabla_1 FOR EACH ROW

insert into tabla_bitacora (campo1; campo2) VALUES (tabla_1.campo1, tabla_1.campo2);

 

Es posible que la sistaxis no este totalmete correcta.

 

Esto lo tienes crear en la BBDD MySQL donde esten las tablas implicadas.

 

Saludos

Conectados

Total de usuarios conectados 265 :: 0 Miembro(s) y 265 invitado(s).
Leyenda:  Administrador del Sitio Moderador Global Moderador Sancionado Usuario Invitado

Estadísticas

Total de mensajes : 379 | Total temas : 145 | Total miembros : 37533
Nuestro nuevo miembro : coro1959
JDL Forum