Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/05/2013, 13:26
Avatar de satjaen
satjaen
 
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 11 años, 7 meses
Puntos: 10
Capturar hora actual y actualizarlo en base de datos.

Hola, por favor me puede decir alguien como puedo capturar la hora en tiempo real y despues hacer un update en la base de datos?

Así pongo la hora actual en el input hora_salida:

Código PHP:
Ver original
  1. <body onload="HoraActual()">
  2. <script language="JavaScript">
  3. function HoraActual(){
  4. var esteMomento = new Date();
  5. var hora = esteMomento.getHours();
  6. if(hora < 10) hora = '0' + hora;
  7. var minuto = esteMomento.getMinutes();
  8. if(minuto < 10) minuto = '0' + minuto;
  9. var segundo = esteMomento.getSeconds();
  10. if(segundo < 10) segundo = '0' + segundo;
  11. HoraCompleta= hora + " : " + minuto + " : " + segundo;
  12. document.form3.hora_salida.value = HoraCompleta;
  13. setTimeout("HoraActual()",1000)
  14. }
  15. </script>


Este es el formulario que al parar el contador hace el update:

Código Javascript:
Ver original
  1. <!---------------------------------Temporizador iniciado----------------------------------------------------------------->
  2.  
  3.                                           <div id="div_1" >
  4.    <?php do { ?>                                        
  5.          <form action="<?php echo $editFormAction; ?>" method="post" name="form3" id="form3">
  6.                            
  7.  
  8.    
  9.                                    
  10.  <input type="text" name="hora_salida" value=""  size="32" />///Este es el de la hora/////
  11.                                    
  12.                        
  13.                  <input type="hidden" name="id_contador" value="<?php echo $row_Recordset4['id_contador']; ?>" />
  14.  
  15. <?php
  16.  
  17. $fecha1 = strtotime($row_Recordset4['hora_entrada']);
  18. $fecha2 = strtotime($row_Recordset4['hora_salida']);
  19.  
  20. $diferencia_minutos = ($fecha2-$fecha1)/60;
  21.  
  22. ?>
  23. <ul data-role="listview" data-divider-theme="b" data-inset="true">
  24.                                
  25.  
  26.  
  27.     <li data-role="list-divider" role="heading">[<?php echo $row_Recordset1['tecnico']; ?>]</li>
  28.   <li data-role="list-divider" role="heading"><?php echo $row_Recordset4['fecha']; ?></li><li data-theme="c">
  29.    
  30.     De <?php echo $row_Recordset4['hora_entrada']; ?> a <?php echo $row_Recordset4['hora_salida']; ?><span class="ui-li-count"><?php echo $diferencia_minutos  ?>&nbsp;minutos</span>
  31.    
  32.  <li data-role="list-divider" role="heading">El contador de tiempo se ha parado <?php echo $row_Recordset4['fecha']; ?> a las <?php echo $row_Recordset4['hora_salida']; ?> con nº<?php echo $row_Recordset4['id_contador']; ?><br/></li>
  33.    
  34.   </li>
  35.   <input type="hidden" name="MM_update" value="form3" />
  36.                          
  37.                          
  38.   <button type="submit" data-icon="custom" id="form3btn"  data-theme="c" data-ajax="false">Para contador</button>
  39.                          
  40.                                                            
  41.                                                            
  42.   <?php } while ($row_Recordset4 = mysql_fetch_assoc($Recordset4)); ?>
  43.          
  44.                                   </ul>  
  45.                        
  46.                         </form>
  47.                         </div>                      
  48.  <!-----------------------------Fin Temporizador iniciado----------------------------------------------------------------->


y este el update:

Código Javascript:
Ver original
  1. if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form3")) {
  2.   $updateSQL = sprintf("UPDATE contador_avisos SET hora_salida=%s WHERE id_contador=%s",
  3.                        GetSQLValueString($_POST['hora_salida'], "date"),
  4.                        GetSQLValueString($_POST['id_contador'], "int"));
  5.  
  6.   mysql_select_db($database_conexion, $conexion);
  7.   $Result1 = mysql_query($updateSQL, $conexion) or die(mysql_error());
  8. }

Gracias