Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Actualizar fecha y hora automaticamente en mysql sin refrescar pagina

Estas en el tema de Actualizar fecha y hora automaticamente en mysql sin refrescar pagina en el foro de PHP en Foros del Web. Hola buen dia amigos de foro tengo una pregunta alguien sabe como alctualizar un campo tipo datetime tengo una tabla usuario en ella esa columna ...
  #1 (permalink)  
Antiguo 26/11/2013, 11:11
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 14 años, 9 meses
Puntos: 0
Actualizar fecha y hora automaticamente en mysql sin refrescar pagina

Hola buen dia amigos de foro tengo una pregunta alguien sabe como alctualizar un campo tipo datetime tengo una tabla usuario en ella esa columna y por ejemplo lo que kiero es
1.-que a la hora de iniciar sesion se actualice la fecha-hora esto ya esta
lo que kiero es que cuando entre al sistema empiece a actualizarse automaticamnte esa fecha-hora guardada

en el menu puse algo asi pero no me solo me lo hace si refresco la pagina
Código PHP:
Ver original
  1. <?
  2.         require('conexion.php');
  3.     $usuario = "ilidan"
  4.         date_default_timezone_set('America/Mexico_City');
  5.         $actual = date("Y-m-d H:i:s");
  6.        
  7.         mysql_query("UPDATE usuarios SET entrada='$actual' WHERE usuario_c='$usuario'");
  8. ?>
alguien sabe como hacer esto sin estar refrescando la pagina
  #2 (permalink)  
Antiguo 26/11/2013, 11:16
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Respuesta: Actualizar fecha y hora automaticamente en mysql sin refrescar pagina

Puedes ejecutar código PHP mediante la tecnología AJAX de javascript.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 26/11/2013, 11:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Actualizar fecha y hora automaticamente en mysql sin refrescar pagina

Necesitas implementar Ajax, investiga en el sub-foro correspondiente.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 26/11/2013, 11:34
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Actualizar fecha y hora automaticamente en mysql sin refrescar pagina

entonces tengo que publicar este tema en ajax???
  #5 (permalink)  
Antiguo 26/11/2013, 11:45
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Actualizar fecha y hora automaticamente en mysql sin refrescar pagina

Este codigo va con la pagina que estubimos mirando el otro dia?
  #6 (permalink)  
Antiguo 26/11/2013, 11:49
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Actualizar fecha y hora automaticamente en mysql sin refrescar pagina

si lo que quiero hacer es por ejemplo si cierra el sistema desde un link o boton cerrar sesion no hay ningun problema ya que se hace un update a la tabla y online queda en 0 pero si cierras el navegador no se actualiza y se me ocurrio asi
cuando se logue el usuario desde ese momento se este actualizando la hora cada minuto segundo automaticamente y si alguin mas kiere entra poner una validacion de tiempo se a pasado mas de un minuto sin actualizarse la hora entrar al sistema y sino que te diga k estas en liena
  #7 (permalink)  
Antiguo 26/11/2013, 12:07
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Actualizar fecha y hora automaticamente en mysql sin refrescar pagina

actualmente para iniciar sesion tengo este achivo

Código PHP:
Ver original
  1. <?php error_reporting(E_ERROR); ?>
  2. <?php
  3. require('login/config.php');
  4. require('login/include/conexion.php');
  5. require_once("sesion.class.php");
  6.  
  7. date_default_timezone_set('America/Mexico_City');
  8.         $sesion=new sesion();
  9.    
  10.         $usuario = $_POST["usuario"];
  11.         $password= $_POST["password"];
  12.                 $sucursal= $_POST["sucursal"];
  13.                 $nivel= $_POST["nivel"];
  14.  
  15.  
  16.         if(validarUsuario($usuario) == true)
  17.         {
  18.                     if($sucursal=="1" and $nivel=="1"){  
  19.  
  20.                 $fecha= date("Y-m-d H:i:s");
  21.                 $actual=strtotime(date("Y-m-d H:i:s"));
  22.  
  23.                  $dos=mysql_query("Select entrada FROM usuarios where usuario_c='$usuario'");
  24.                 while ($ina=mysql_fetch_row($dos)){
  25.                     $entra=strtotime($ina[0]);
  26.                 }
  27.                 $min=round(($actual-$entra)/60);
  28.                
  29.                 $uno=mysql_query("Select online FROM usuarios where usuario_c='$usuario'");
  30.                 while ($online=mysql_fetch_row($uno)){
  31.                      $si=$online[0];
  32.                 }
  33.  
  34.                 if($si==0){
  35.                   $comando=mysql_query("UPDATE usuarios  set entrada='$fecha',online='1' where usuario_c='$usuario'");
  36.                   $sesion->set("usuario",$usuario);
  37.                   header("location: login/menu.php");
  38.                 }else if($min>=20){
  39.                   $comando=mysql_query("UPDATE usuarios  set online='0' where usuario_c='$usuario'");
  40.                 $uno=mysql_query("Select online FROM usuarios where usuario_c='$usuario'");
  41.                 while ($online=mysql_fetch_row($uno)){
  42.                      $sii=$online[0];
  43.                 }if($sii==0){
  44.                   $sesion->set("usuario",$usuario);
  45.                   header("location: login/menu.php");
  46.                 }                            
  47.                 } else{
  48.                     echo "<script>alert('USUARIO CON SESION ACTIVA ESPERE 20 MINUTOS');location.href='login.html' </script>";
  49.                 }
  50.  
  51.  
  52.                      if($sucursal=="2" and $nivel=="2" ){
  53.                $hora = date('H');
  54.                if ($hora < 8 || $hora > 20)
  55.                {
  56.                echo "<script>alert('HORA DE ACCESO DE 8am a 8pm');location.href='login.html' </script>";
  57.                }
  58.                else
  59.                {
  60.                          $sesion->set("usuario",$usuario);
  61.             header("location: login2/menu.php");
  62.                }
  63.                     }
  64.                        if($sucursal=="3" and $nivel=="2"){
  65.                                    $hora = date('H');
  66.                if ($hora < 8 || $hora > 20)
  67.                {
  68.                echo "<script>alert('HORA DE ACCESO DE 8am a 8pm');location.href='login.html' </script>";
  69.                }
  70.                else
  71.                {
  72.                            $sesion->set("usuario",$usuario);
  73.             header("location: login3/menu.php");
  74.                }
  75.                     }
  76.  
  77.            
  78.            
  79.                     }
  80.         }
  81.                 else
  82.                 {
  83.                     echo "<script>alert('EL USUARIO NO EXISTE'); location.href='login.html'</script>";
  84.                 }
  85.        
  86.     function validarUsuario($usuario)
  87.     {
  88.         $conexion = new mysqli("localhost","root","","gromero");
  89.         $consulta = "select usuario_c from usuarios where usuario_c= '$usuario'";
  90.  
  91.         $result = $conexion->query($consulta);
  92.  
  93.         if($result->num_rows > 0)
  94.         {
  95.             $fila = $result->fetch_assoc();
  96.             if( strcmp($fila["usuario_c"]) == "" )
  97.                 return true;
  98.             else
  99.                 return false;
  100.         }
  101.         else
  102.                 return false;
  103.     }
  104.  
  105. ?>
  #8 (permalink)  
Antiguo 26/11/2013, 12:10
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Actualizar fecha y hora automaticamente en mysql sin refrescar pagina

Cuando verifiques que el usuario es correcto crea una variable $_SESSION['usuario'] con el nombre del usuario como valor
  #9 (permalink)  
Antiguo 26/11/2013, 12:11
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Actualizar fecha y hora automaticamente en mysql sin refrescar pagina

y en menu.php
Código PHP:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3.     <head>
  4.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5.         <title></title>
  6.     </head>
  7.     <body>
  8.         <?php
  9.         require('config.php');
  10.         require('include/conexion.php');
  11.         require_once("sesion.class.php");
  12.     $sesion = new sesion();
  13.     $usuario = $sesion->get("usuario");
  14.         date_default_timezone_set('America/Mexico_City');
  15.         $actual = date("Y-m-d H:i:s");
  16.         mysql_query("UPDATE usuarios SET entrada='$actual' WHERE usuario_c='$usuario'");    
  17.         ?>
  18.         <form>
  19.             akii todo mi codigo html
  20.         </form>
  21.  
  22.     </body>
  23. </html>
  #10 (permalink)  
Antiguo 26/11/2013, 12:35
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Actualizar fecha y hora automaticamente en mysql sin refrescar pagina

Código PHP:
Ver original
  1. <?php
  2. require('config.php');
  3.         require('include/conexion.php');
  4.         require_once("sesion.class.php");
  5.     $sesion = new sesion();
  6.     $usuario = $sesion->get("usuario");
  7.         date_default_timezone_set('America/Mexico_City');
  8.         $actual = date("Y-m-d H:i:s");
  9.         $_SESSION['usuario'] = $usuario;
  10.         mysql_query("UPDATE usuarios SET entrada='$actual' WHERE usuario_c='$usuario'");
  11. if(isset($_GET['ajax'])  && isset($_SESSION['usuario'])) exit();
  12. ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  13. <html>
  14.     <head>
  15.         <script language="JavaScript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
  16.         <script type="text/javascript">if(typeof jQuery==='undefined'){document.write(unescape("<scri"+"pt src='js/jquery-1.3.2.min.js' type='text/javascript'></scri"+"pt>"));}</script>
  17.         <script type="text/javascript">
  18.             mytime=setTimeout($.ajax({ type: "GET",url: "<?php echo $_SERVER['REQUEST_URI'];?>?ajax=1" }),1000);
  19.         </script>
  20.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  21.         <title></title>
  22.     </head>
  23.     <body>
  24.         <form>
  25.             akii todo mi codigo html
  26.         </form>
  27.  
  28.     </body>
  29. </html>
Si no tenias iniciada session en ninguno de los scripts que incluyes , tienes que agregar session_start(); al principio del script
  #11 (permalink)  
Antiguo 26/11/2013, 12:56
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Actualizar fecha y hora automaticamente en mysql sin refrescar pagina

Cambia la linea
Cita:
mytime=setTimeout($.ajax({ type: "GET",url: "<?php echo $_SERVER['REQUEST_URI'];?>?ajax=1" }),1000);
por esta otra
Cita:
setInterval('$.ajax({ type: "GET",url: "<?php echo $_SERVER['REQUEST_URI'];?>?ajax=1" })',1000);
  #12 (permalink)  
Antiguo 26/11/2013, 13:04
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Actualizar fecha y hora automaticamente en mysql sin refrescar pagina

Para no sobre cargar el servidor de peticiones, te recomiendo que le subas el tiempo de 1 segundo a unos 30 mas o menos
osea en vez de 1000 pon 30000
  #13 (permalink)  
Antiguo 26/11/2013, 13:05
Avatar de Dalam  
Fecha de Ingreso: septiembre-2010
Mensajes: 409
Antigüedad: 13 años, 7 meses
Puntos: 56
Respuesta: Actualizar fecha y hora automaticamente en mysql sin refrescar pagina

Para no sobre cargar el servidor de peticiones, te recomiendo que le subas el tiempo de 1 segundo a unos 30 mas o menos
osea en vez de 1000 pon 30000

Etiquetas: automaticamente, fecha, mysql, refrescar, tabla, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:03.