Foros del Web » Programando para Internet » PHP »

Comparar fecha desde mysql

Estas en el tema de Comparar fecha desde mysql en el foro de PHP en Foros del Web. Hola, ¿Es segura esta comparación? Código PHP: if( $row [ "fecha" ]== "0000-00-00 00:00:00" ) { // no se ha ingresado una fecha } else { // se ha ingresado una fecha $fecha = strtotime ( $row [ "fecha" ]);  ...
  #1 (permalink)  
Antiguo 14/07/2008, 11:36
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Pregunta Comparar fecha desde mysql

Hola,
¿Es segura esta comparación?

Código PHP:
if($row["fecha"]=="0000-00-00 00:00:00") {
// no se ha ingresado una fecha
} else {
// se ha ingresado una fecha
$fecha=strtotime($row["fecha"]); 
} ... 
Es decir, cuáles son las posibilidades de que falle la comparación, suponiendo que 0000-00-00 00:00:00 es el valor predeterminado del campo.
El único objetivo es saber si se ha ingresado una fecha o no en ese campo en un registro determinado (si no se ingresó fue insertado como fecha='')

Gracias,
saludos.
  #2 (permalink)  
Antiguo 14/07/2008, 11:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Comparar fecha desde mysql

Hola geq,

Creo es la forma más correcta ya que ese es el valor que te devuelve MySQL, y pues lo que podrías hacer para más portabilidad es:
Código PHP:
$emptyValue "0000-00-00 00:00:00"";
if($row["
fecha"]==$emptyValue) {
// no se ha ingresado una fecha
} else {
// se ha ingresado una fecha
$fecha=strtotime($row["
fecha"]); 
} ... 
Así $emptyValue lo puedes pasar por muchos archivos y en caso de requerir un cambio solo cambias esa variable.

Saludos.
  #3 (permalink)  
Antiguo 14/07/2008, 21:00
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Comparar fecha desde mysql

Ok, muchas gracias!

Preguntaba más que nada porque antes lo hacía comprobando el valor que devuelve strtotime()... en localhost strtotime("0000-00-00 00:00:00") era 943905600, pero subido al servidor false (ya averigué que es un bug de la versión de php que tengo), lo adapté para que funcione en el servidor y de un día para el otro el valor en el servidor pasó a ser ese número y se me desarmó todo jaja

Y me surgió la duda si esa comparación no cambiará en algún momento y tendré que cambiar todo de nuevo.

En fin, gracias.
Exitos.
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 11:46.