JavaScript - Como insertar datos a una tabla cuando una cuenta regresiva llegue a Tiempo expirado?

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 16 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

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
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

countdown
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
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: 2
Ha disminuido su posición en 16 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Como insertar datos a una tabla cuando una cuenta regresiva llegue a Tiempo expirado?

Publicado por Dago (3 intervenciones) el 30/11/2021 17:34:46
Para quien le pueda servir en algo esto, logre hacerlo diferente por medio de una consulta realice una comparación con la fecha que se guardo en la base de datos hice una comparación con la fecha actual que si era menor cambiara el estado a "FINALIZADO"
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 7aamin
Val: 9
Ha aumentado su posición en 6 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Como insertar datos a una tabla cuando una cuenta regresiva llegue a Tiempo expirado?

Publicado por 7aamin (79 intervenciones) el 30/11/2021 18:34:02
puedes hacerlo facilmente usando javascript con el objeto Date(), obtienes la los milisegundos al momento del inicio, y le gumas la cantidad de milisegundos que quieres que dure el lapso.. o lo puedes hacer con un setTimeout()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar