Como insertar datos a una tabla cuando una cuenta regresiva llegue a Tiempo expirado?
Publicado por Dago (3 intervenciones) el 01/02/2019 17:27:21
Hola soy nuevo en esto del php y javascript tengo un formulario que trabaja con una tabla que se llama matriz de fallo guarda que equipos tendrán un mantenimiento próximo (por medio del id del equipo saco el equipo) y guarda un campo que se llama periodos que son "diario, semanal, mensual, trimestral y anual" según el periodo que escoja toma la fecha actual y le suma los días para que cumpla ese periodo elegido y tengo un script que hace una cuenta regresiva tomando la fecha del periodo con la actual y al llegar el tiempo muestra un mensaje que el tiempo expiro.
Lo que quiero es que una vez que entre a ese ciclo donde evalua cuando paso ese tiempo del periodo que me haga un insert a otra tabla que se llama solicitud_mante (cabe decir que esta tabla también posee el mismo id_equipo) por ejemplo si la fila 1 de la tabla matriz expiro quiero que ese mismo id_equipo se inserte en la tabla soliciud_mante y los demas dato de la tabla seria fijos (solo el id_equipo seria el que variara) .
Lo que yo he hecho es hacer un código php en el ciclo donde evalúa si expiro pero no se como hacerlo porque cada vez que refresco la pagina se inserta todos los datos como fijos y también he creado un campo ESTADO (en la misma tabla de prueba) que cuando llegue a mostrar el mensaje de expiro que haga un update al ESTADO y crear un trigger que dispare cuando cambie el ESTADO a expiro que haga ese inserte y lo mismo nada y si actualizo si hace la función espero haberme explicado bien.
Este es mi codigo en el ciclo IF(lapso <0) es donde he puesto mi codigo php
estaria seria una vista previa del form

espero me pueden ayudar y si no fuera mucho pedir explicar lo que se hizo muchas gracias de ante mano
Por cualquier cosa
matriz
id_matri
id_list (id_equipo)
Falla
Accion
Gravedad
Frecuencia
solicitud_mante
id_soli
id_list
Empleado
Tipo_falla
Tipo_mante
Fecha_soli
Estado
Detalle_soli
Cuando haga el insert quiero como dije antes que tome los id_list que ha exiprado y se guarden en la solicitud y que los demas datos sean fijos por ejemplo:
01-04 'SOTFWARE', 'NINGUNA', 'PREVENTIVA', 'FECHA_ACTUAL', 'PENDIENTE', 'MANTENIMIENTO PREVENTIVO DEL EQUIPO'
Lo que quiero es que una vez que entre a ese ciclo donde evalua cuando paso ese tiempo del periodo que me haga un insert a otra tabla que se llama solicitud_mante (cabe decir que esta tabla también posee el mismo id_equipo) por ejemplo si la fila 1 de la tabla matriz expiro quiero que ese mismo id_equipo se inserte en la tabla soliciud_mante y los demas dato de la tabla seria fijos (solo el id_equipo seria el que variara) .
Lo que yo he hecho es hacer un código php en el ciclo donde evalúa si expiro pero no se como hacerlo porque cada vez que refresco la pagina se inserta todos los datos como fijos y también he creado un campo ESTADO (en la misma tabla de prueba) que cuando llegue a mostrar el mensaje de expiro que haga un update al ESTADO y crear un trigger que dispare cuando cambie el ESTADO a expiro que haga ese inserte y lo mismo nada y si actualizo si hace la función espero haberme explicado bien.
Este es mi codigo en el ciclo IF(lapso <0) es donde he puesto mi codigo php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
include 'conexion/db.php';
$fech_actual = Date("Y-m-d H:i:s");
$sql ="SELECT a.Id_list, a.Equipo, b.Id_matri, b.Falla, b.Accion, b.Gravedad, b.Frecuencia, b.Tiempo FROM listamaestra as a
inner join matriz b on a.Id_list = b.Id_list
";
$resul = $cone->query($sql);
$demoid="0";
?>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/estilo.css" rel="stylesheet">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-theme.css" rel="stylesheet">
<title>Busqueda Matriz de Fallo</title>
<script>
function cuentaRegresiva(fecha,fila){
// Catura la fecha del periodo introducido
var cuenta = new Date(fecha);
// Actualiza cada vez que va bajando 1 segundo
var x = setInterval(function() {
// Captura el dia y la hora actual
var now = new Date().getTime();
// Se resta el dia del periodo con el dia actual para hacer la cuenta regresiva
var lapso = cuenta - now;
// Calcula los dias, horas, minutos and segundos
var dias = Math.floor(lapso / (1000 * 60 * 60 * 24));
var horas = Math.floor((lapso % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutos = Math.floor((lapso % (1000 * 60 * 60)) / (1000 * 60));
var segundos = Math.floor((lapso % (1000 * 60)) / 1000);
// Muestra el resultado en el elemento con id="demo"
// EN ESTE CASO LE AGREGO EL PARAMETRO "fila" YA QUE EL ID "demo" SE GENERA DE FORMA DINAMICA
document.getElementById("demo"+fila).innerHTML = dias + "d " + horas + "h "
+ minutos + "m" + segundos + "s";
// Una vez la cuenta llegue al dia del periodo imprimira el mensaje de tiempo expirado
if (lapso < 0)
{
clearInterval(x);
var el = document.getElementById("demo"+fila).innerHTML = "Tiempo Expirado";
}
}, 1000);
}
</script>
</head>
<body>
<div class="container">
<div class="row">
<h1 style="text-align:center">Matriz de Falla</h1>
</div>
<a href="Menu.php">Regresar al Menu</a> <br />
<div class="row">
<div class="formulario">
<a href="Matriz Fallo.php" class="btn btn-primary">Nuevo Registro</a>
<label>Buscar</label>
<input id="buscar" type="text" placeholder="Busqueda"></input>
</div>
</div>
<br>
<div class="row table-responsive">
<table id="tabla" border=1 class='tabla_datos'>
<thead>
<tr id='titulo'>
<th>Codigo Matriz</th>
<th>Codigo Equipo</th>
<th>Equipo</th>
<th>Modo Falla</th>
<th>Accion Preventiva</th>
<th>Gravedad</th>
<th>Frecuencia</th>
<th>Fecha del Periodo </th>
<th>Tiempo Restante</th>
<th>Comando</th>
</tr>
</thead>
<tbody>
<?php while ($row = $resul->fetch_assoc())
{ $demoid++; ?>
<tr>
<td><?php echo $row['Id_matri']; ?></td>
<td><?php echo $row['Id_list']; ?></td>
<td><?php echo $row['Equipo']; ?></td>
<td><?php echo $row['Falla']; ?></td>
<td><?php echo $row['Accion']; ?></td>
<td><?php echo $row['Gravedad']; ?></td>
<td><?php echo $row['Frecuencia']; ?></td>
<td><?php echo $row['Tiempo']; ?></td>
<td><p id="demo<?php echo $demoid;?>">
<script>
cuentaRegresiva('<?php echo $row['Tiempo']; ?>',<?php echo $demoid;?>);
</script></p></td>
<td><a href="edit.php?Id_matri=<?php echo $row['Id_matri']; ?>"><span class="glyphicon glyphicon-pencil">Posponer</span></a></td>
</tr>
<?php }?>
</tbody>
</table>
</div>
</div>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script src="js/jquery-3.3.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/buscar.js"></script>
</body>
</html>
estaria seria una vista previa del form

espero me pueden ayudar y si no fuera mucho pedir explicar lo que se hizo muchas gracias de ante mano
Por cualquier cosa
matriz
id_matri
id_list (id_equipo)
Falla
Accion
Gravedad
Frecuencia
solicitud_mante
id_soli
id_list
Empleado
Tipo_falla
Tipo_mante
Fecha_soli
Estado
Detalle_soli
Cuando haga el insert quiero como dije antes que tome los id_list que ha exiprado y se guarden en la solicitud y que los demas datos sean fijos por ejemplo:
01-04 'SOTFWARE', 'NINGUNA', 'PREVENTIVA', 'FECHA_ACTUAL', 'PENDIENTE', 'MANTENIMIENTO PREVENTIVO DEL EQUIPO'
Valora esta pregunta


0