Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/04/2008, 08:52
populous
 
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.