Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/07/2013, 19:28
raulgranadosraul
 
Fecha de Ingreso: julio-2013
Mensajes: 174
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: Problema con la hora en BD con CURRENT_TIME()

Cita:
Iniciado por Rodrhigo Ver Mensaje
Siempre se guardara la hora que tienes en el servidor y no la del cliente porque es el servidor el que inserta una fila.

Ahora bien, existe una función en mysql que se llama date_add en la que puedes añadirle o quitarle minutos,horas,dias..etc de diferencia.

Podrias almacenar la fecha con una hora de diferencia o podrias recuperarla dependiendo de la fecha del cliente.


Si quieres agregarle una hora al momento de la insercción(no recomendable):
Código PHP:
Ver original
  1. $hora_extra = 1;
  2. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form")) {
  3.   $insertSQL = sprintf("INSERT INTO tblcomentarios (nombre, correo, telefono, mensaje, fecha, hora, idnoticia) VALUES (%s, %s, %s, %s, DATE_ADD(NOW(), INTERVAL $hora_extra HOUR), TIME(DATE_ADD(NOW(), INTERVAL $hora_extra HOUR)), %s)",
  4.                        GetSQLValueString($_POST['nombre'], "text"),
  5.                        GetSQLValueString($_POST['correo'], "text"),
  6.                        GetSQLValueString($_POST['telefono'], "text"),
  7.                        GetSQLValueString($_POST['mensaje'], "text"),
  8.                        GetSQLValueString($_POST['idnoticia'], "int"));



Ahora si quieres recuperarla en función de la hora que tenga el cliente deberias enviar la hora del cliente con ajax.... calcular la $diferencia horaria en el servidor y al momento de traerlo agregar un date_add con un intervalo igual a $diferencia.


Claro, tiene lógica eso. Tendré que ponerme a aprender y practicar un poco de ajax que aun no lo he tocado.
Gracias por la info.