Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/07/2013, 19:16
Avatar de Rodrhigo
Rodrhigo
 
Fecha de Ingreso: septiembre-2011
Ubicación: Temuco-Valdivia-Osorno
Mensajes: 254
Antigüedad: 12 años, 7 meses
Puntos: 48
Respuesta: Problema con la hora en BD con CURRENT_TIME()

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.
__________________
Rodrigo Agüero