elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  campo date debuelve 1970-01-01
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: campo date debuelve 1970-01-01  (Leído 8,055 veces)
Ethgar

Desconectado Desconectado

Mensajes: 56



Ver Perfil
Re: campo date debuelve 1970-01-01
« Respuesta #10 en: 10 Julio 2014, 19:29 pm »

¿Eso te solucino tu problema?

Fechas como 2014-06-01 son reconocidas por strtotime(), así que si sigues con ese problema, no debe ser de ahí. Lo más probable es que el valor venga mal desde la base de datos.
Tienes razón, crei que al hacerle strtotime a una fecha daria problemas, no entiendo porque ete erronea la fecha si la traigo de la base de datos, y esta correcta, con el mismo formato, seguire buscando el error.


En línea

Ari Slash


Desconectado Desconectado

Mensajes: 1.783



Ver Perfil WWW
Re: campo date debuelve 1970-01-01
« Respuesta #11 en: 10 Julio 2014, 19:56 pm »

Código
  1. $query = mysql_query("SELECT * FROM Tabla_Fecha");
  2. while ($row = mysql_fetch_array($query)){
  3. $Fecha_Orden =  $row['Fecha_Orden'];
  4. }
  5.  
  6. <td><input class="input"  type="text" name="FechaOrden" id="FechaOrden" size="12" title="Día de Registro" placeholder="2013/06/15" value="<?php echo $Fecha_Orden;?>" disabled required/>
  7.  
  8. $FechaOrden = strtoupper($_POST['FechaOrden']);
  9. $FechaOrden=date('Y-m-d',strtotime($FechaOrden));
  10.  
  11. $Modificar = "UPDATE Tabla_Fecha
  12.  SET Fecha_Orden='$FechaOrden'";
  13.  $Mod= mysql_query($Modificar);
  14.  if( $Mod == false ) echo"<script> alert('Error al Modificar Fecha')</script>";  
  15.  else echo"<script>alert('La Fecha ha sido Modificada)</script>";
  16.  

Pues ese SELECT *, no sabes especificamente como te trae la fecha de acuerdo a la configuracion de tu servidor (no el tipo de datos), por ende, traela desde la base de datos ya con formato:

Código
  1. SELECT DATE_FORMAT(Fecha_Orden,'%Y-%m-%d') FROM Tabla_Fecha

Código
  1. $query = mysql_query("SELECT DATE_FORMAT(Fecha_Orden,'%Y-%m-%d') FROM Tabla_Fecha");
  2. while ($row = mysql_fetch_array($query)){
  3. $Fecha_Orden =  $row['Fecha_Orden'];
  4. }

La configuracion de formato puedes verla aqui:
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

Y lo mas probable es que el formato no sea el correcto, y pase lo que comento MinusFour en su primer post:

Si no te reconoce el string de la fecha
Código
  1. strtoupper($_POST['FechaOrden']);

Entonces te va a mandar un FALSE (0), lo que equivale a un timestamp de 1970-01-01.


En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: campo date debuelve 1970-01-01
« Respuesta #12 en: 10 Julio 2014, 20:21 pm »

¿Una pregunta... Fecha_Orden es un campo de tipo Date? ¿O de tipo Timestamp?

En tu base de datos dices que tienes la fecha bien (no es 1970-01-01) ¿Pero cuando cargas la página te sale "1970-01-01"???

Eso es bastante extraño considerando que estás imprimiendo el dato tal cual viene de la base de datos y aún que le des un formato, no debería cambiarte la fecha en sí.
« Última modificación: 10 Julio 2014, 20:29 pm por MinusFour » En línea

Ethgar

Desconectado Desconectado

Mensajes: 56



Ver Perfil
Re: campo date debuelve 1970-01-01
« Respuesta #13 en: 16 Julio 2014, 16:31 pm »

¿Una pregunta... Fecha_Orden es un campo de tipo Date? ¿O de tipo Timestamp?

En tu base de datos dices que tienes la fecha bien (no es 1970-01-01) ¿Pero cuando cargas la página te sale "1970-01-01"???

Eso es bastante extraño considerando que estás imprimiendo el dato tal cual viene de la base de datos y aún que le des un formato, no debería cambiarte la fecha en sí.
Es Tipo Date, y si, en la base de datos si tengo la fecha bien por ejemplo 2014-07-07 y al mostrarla en la pagina sale la misma 2014-07-07, todo bien, el problema es cuando la guardo, lo que ise ahora fue simplemente que muestre la fecha pero al momento de guardar guarde todos los datos menos la fecha, para mantenerla integra, y todo anda bien, pero  sigo con la pregunta para entender que es lo que pasa, para futuras referencias, voy a probar con lo que Ari Slash propone, vere que pasa y publico que paso,. Gracias por sus respuestas.
En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: campo date debuelve 1970-01-01
« Respuesta #14 en: 16 Julio 2014, 18:44 pm »

Yo creo que el problema es tu query del UPDATE o el strtotime:

Prueba poner justo debajo de $FechaOrden:

Código
  1. if($FechaOrden == "1970-01-01"){
  2.   die("El problema es strtotime o \$_POST[\"FechaOrden\"] = " . $_POST["FechaOrden"]);
  3. }

Si esto no es, hay algo mal con la query.

Tienes:

Código
  1. $Modificar = "UPDATE Tabla_Fecha SET Fecha_Orden='$FechaOrden'";

Estás poniendole a todos tus registros de la Tabla_Fecha la misma Fecha_Orden. ¿Esto es lo que quieres?
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sims hot date « 1 2 »
Juegos y Consolas
AdeS 10 5,252 Último mensaje 29 Julio 2004, 22:00 pm
por Ismy
MKTime() & <1970 ¬¬
PHP
Azielito 4 2,222 Último mensaje 29 Junio 2007, 15:47 pm
por [ Alberto]
[Bash] SCP + Date
Scripting
salvades 4 3,303 Último mensaje 9 Noviembre 2010, 01:33 am
por leogtz
Date y Date
Java
danielo- 2 1,962 Último mensaje 11 Agosto 2013, 18:32 pm
por ~ Yoya ~
Consulta sql filtrada por campo date custom fields plugin
Desarrollo Web
kakashi20 0 1,527 Último mensaje 2 Enero 2016, 23:29 pm
por kakashi20
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines