Foros del Web » Programando para Internet » PHP »

Problema con UPDATE y el campo $fecha de tipo DATETIME

Estas en el tema de Problema con UPDATE y el campo $fecha de tipo DATETIME en el foro de PHP en Foros del Web. Hola a todos, A ver si me pueden echar una manita ya que estoy empezando con php Resulta que tengo un gestor de noticias en ...
  #1 (permalink)  
Antiguo 10/04/2008, 08:52
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Pregunta Problema con UPDATE y el campo $fecha de tipo DATETIME

Hola a todos,

A ver si me pueden echar una manita ya que estoy empezando con php

Resulta que tengo un gestor de noticias en mi sitio web y trabajando en local cuando le hago un update a una noticia, la actualiza perfectamente pero en remoto NO.

En un principio él campo $fecha era de tipo DATE pero no me era útil ya que no me guardaba la hora de la publicacion y no se posicionaban por orden de inserción de más reciente a menos reciente. Al final, mirando en foros me comentaron que lo mejor era modificar el campo $fecha de tipo DATE a DATETIME y luego aplicarle una función para convertirla al formato europeo (dd.mm.aaaa).

Es del tipo DATETIME para que almacene también la hora y funciona ya que me los muestra ordenados por los más recientes como yo le indiqué.

El problema es cuando modifico una noticia.

Imaginen que tenemos varias noticias del día 9 de abril de 2008 vale? Pues yo cojo la más reciente, y la modifico y tras guardar los cambios, se coloca como la más antigua de esa fecha.. cambie el campo que cambie modifica la fecha y eso que la recoje del formulario anterior, le hago un echo y es correcta, por eso no lo entiendo!

EJ:
Antes de UPDATE

FECHA: TITULO
9/4/08 NOTICIA4 (LA MAS RECIENTE Y LA QUE MODIFICO)
9/4/08 NOTICIA3
9/4/08 NOTICIA2
9/4/08 NOTICIA1

DESPUES DEL UPDATE

FECHA: TITULO
9/4/08 NOTICIA1
9/4/08 NOTICIA2
9/4/08 NOTICIA3
9/4/08 NOTICIA4 (ERA LA MÁS RECIENTE Y SE COLOCA AL FINAL)

La noticia que modifico se coloca al final del dia! aunque le modifique el campo FECHA manualmente y no se que hacer ya, cualquier cambio que haga en cualquier campo de ese registro hará que el mismo se posicione como el más antiguo de ese dia.

Solo me ocurre esto en el servidor remoto (php4) ya que en local (php5)l me funciona perfectamente y los codigos de las páginas son idénticos ya que es la misma página pero cambiando los parámetros de conexión...

¿A alguien se le ocurre cuál puede ser el problema?

Ahh, la BBDD es MYSQL y los scripts en PHP.

Lo único que se me había ocurrido hacer para solucionarlo es en el UPDATE de la fecha usar la funcion NOW(); como hago cuando creo una noticia nueva, pero claro.. eso no es solución, pq si modifico una noticia que publiqué por la mañana y cambio por ejemplo el titular... no tiene por qué ponerse como que es de ultima hora no? ¬¬

Este es el codigo del UPDATE por si sirve de algo

$fecha = cambiaf_a_mysql($fecha);
$cons="Update datos Set fecha='$fecha', titulo='$titulo' ,autor='$autor' , categoria ='$categoria', imagen='$imagen' , txt_fuente='$txt_fuente', url_fuente= '$url_fuente',texto = '$texto' Where `id_noticia` = '$id'";

La funcion cambiaf_a_mysql me convierte la fecha del formato europeo al americano pero no creo que el problema esté en el codigo sino en el servidor remoto, ya que en local me funciona PERFECTAMENTE, cojo la misma pagina, la publico en mi servidor remoto (en freehostia.com) y me sucede esto...

Si algun alma caritativa se le ocurre algo y me puede iluminar.. le estaría muy agradecido xD

Muchas gracias de antemano.

Un saludo.
  #2 (permalink)  
Antiguo 10/04/2008, 23:04
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Problema con UPDATE y el campo $fecha de tipo DATETIME

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
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:31.