Foros del Web » Programando para Internet » PHP »

Problemas con la fecha

Estas en el tema de Problemas con la fecha en el foro de PHP en Foros del Web. Hola gente estoy utilizando php y Mysql, el tema es que que en al base cree dos campos timestamp para la fecha de creacion del ...
  #1 (permalink)  
Antiguo 26/01/2005, 05:25
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 21 años, 9 meses
Puntos: 1
Problemas con la fecha

Hola gente estoy utilizando php y Mysql, el tema es que que en al base cree dos campos timestamp para la fecha de creacion del registro y para la fecha de modificacion del mismo.
Al crear el registro la fecha de creacion toma la fecha actual automaticamente y la de modificacion no, esto no es problema ya que se lo podria mandar del php cuando genero la modificacion, pero me encontre con otro problema el registro tiene un campo que es un contador por ende cada ves que lo llaman se autoincrementa y al hacerlo la fecha de creacion se vuelve a modificar automaticamente a la fecha actual l ocual no es lo que quiero solo quiero que se mantenga dicha fecha y la de modificacion cambie.



¿Se entiende?
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #2 (permalink)  
Antiguo 26/01/2005, 06:04
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 11 meses
Puntos: 5
Creo que el problema es porque cuando tienes en una tabla varios campos definidos cómo timestamp, de forma automática el primero se actualiza al hacer un insert o un update, sin especificar un valor.
Es decir si no pasas un valor para ése campo, se actualizará con la fecha actual en timestamp, y cómo tu no quieres actualizarlo pués hay está el problema.

Supongo que la solución sería poner el campo de fecha de modificación ANTES que el de fecha de creación, y de forma explícita desde PHP a la creación del registro pasar a la sentencia SQL el valor timestamp al registro que ha de contener la fecha de creación.
De esta forma, cómo sabes que Mysql actualizará sólo el primer campo timestamp que encuentre al ser este el de modificación, pués se solucionaría.

No se si me he explicado muy bien, pero más o menos se trata de que si al hacer UPDATE o INSERT no especificas una valor para el primer campo TIMESTAMP que haya en la tabla, MYSQL lo pone directamente. Por eso al poner el de modificación ANTES creo que se solucionaría. De todas formas en esta página tienes información:

http://dev.mysql.com/doc/mysql/en/ti...p-pre-4-1.html

Salu2 ;)
__________________
[+]
[+]

Última edición por yoseman; 26/01/2005 a las 06:13
  #3 (permalink)  
Antiguo 26/01/2005, 06:30
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 21 años, 9 meses
Puntos: 1
Ok gracias, por el momento le cambiare el orden, luego vere como hacerlo un poco mas seguro.

Gracias y si a alguien se le ocurre otra solucion bienvenida sera.
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #4 (permalink)  
Antiguo 26/01/2005, 07:56
cmc
 
Fecha de Ingreso: febrero-2003
Ubicación: Capital
Mensajes: 1.317
Antigüedad: 21 años, 9 meses
Puntos: 1
continuo con las complicaciones
Al invertir el orden de los campos logro que el campo de fecha de creacion no se modifique pero el de fecha de modificacion se modifica al ritmo del campo "visitado" que es un contador, y por ende cada ves que visito la pagina se me modifica la fecha de modificado que en realidad necesito que refleja la fecha de modificado pero de otro campo del registro que tiene que ver con el contenido.

La pregunta es ¿si al campo no lo guardo con timestamp, con que otro lo puedo guardar?

Gracias
__________________
Claudio Caldareri
diseñador Multimedial
www.disemedios.com.ar
  #5 (permalink)  
Antiguo 26/01/2005, 08:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Deberías adjuntar tu código usado y el SQL empleado ...

Un campo "TIMESTAMP" de Mysql no toma su valor por sí sólo salvo que uses funciones de Mysql tipo CURDATE() o similar .. Por eso es necesario ver como gestionas tus fechas en tu BD y como lo haces en tu código PHP. Realmente con SQL sólo deberías hacerlo TODO, .. Mysql tiene funciones para gestionar fechas (y campos para tal fin como DATE O DATETIME) ..

Un saludo,
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 21:42.