Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Actualizar fechas en campo timestamp

Estas en el tema de Actualizar fechas en campo timestamp en el foro de Mysql en Foros del Web. Hola a todos y gracias por leerme tengo un problema con fechas php y una tabla sql, he extraído los datos así: Código PHP: <?php ...
  #1 (permalink)  
Antiguo 14/10/2008, 05:16
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Actualizar fechas en campo timestamp

Hola a todos y gracias por leerme tengo un problema con fechas php y una tabla sql, he extraído los datos así:

Código PHP:
<?php
$result
=mysql_query("select *, UNIX_TIMESTAMP(fecha) AS fecha,UNIX_TIMESTAMP(fecha_pro) AS fecha_pro from tabla order by id desc",$link); 
$row=mysql_fetch_array($result);
while(
$row mysql_fetch_array($result)) { 
$hoy=mktime();
$resultado=mysql_query("UPDATE tabla SET fecha_pro=$hoy",$link);
}
?>
Lo que se supone que quiero hacer es que aquellos registros del sql que están en el campo fecha_pro (es un timestamp) se actualicen por la fecha actual.

Tengo una campo de fecha (fecha) predeterminado a CURRENT_TIMESTAMP que coge la fecha de inserción y si le pongo esto dentro del while sí que me actualiza el campo fecha_pro con los mismos valores que fecha:

Código PHP:
<?
$resultado
=mysql_query("UPDATE tabla SET fecha_pro=fecha",$link);
?>

Básicamente deduzco que no sé en qué formato debo meter la fecha actual en el campo fecha_pro, también he probado sysdate y nada, siempre me pone los valores a 0000-00-00 00:00:00

Otro fallo, he probado lo siguiente dentro del while:

$resultadum=mysql_query("UPDATE repor SET fecha_pro=".$row["fecha"]." where fecha_pro=fecha_pro",$link);

y me pone una fecha que no tiene nada que ver y que siempre es la misma (2000-12-22 08:39:56), ¿cómo es posible?

PD:si el foro no este me redireccionaís al más adecuado.

Gracias a todos y un saludo
__________________
Chanante!

Última edición por sirguy; 14/10/2008 a las 05:55 Razón: Más datos
  #2 (permalink)  
Antiguo 14/10/2008, 06:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Actualizar fechas en campo timestamp

Creo que no te hace falta ni el PHP para eso. Prueba esto.
UPDATE tabla SET fecha_pro=NOW()

De todas formas, si quieres que cuando se actualice algún campo del registro cambie el valor, deberías hacer que al actualizarse el campo tomase por defecto la fecha y hora de hoy. MySqL sólo permite un campo de este tipo por tabla. La sintaxis para modificar el que tienes sería algo así:

ALTER TABLE `nombretabla` CHANGE `nombrecampo` `nombrecampo` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP

Cuando actualices cualquier campo del registro, se cambiará la fecha a la de ese día y hora...

No pongas código PHP en este foro: ya sabes que es una de las normas del mismo.
  #3 (permalink)  
Antiguo 14/10/2008, 07:53
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Respuesta: Actualizar fechas en campo timestamp

Pues muchas gracias por la respuesta, y perdón por el php pero al no estar seguro del foro lo he avisado por si acaso así que me siento culpable, pero un poco menos.

Funciona, gracias.
__________________
Chanante!

Última edición por sirguy; 14/10/2008 a las 07:59 Razón: Funciona
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 14:16.