Foros del Web » Programando para Internet » PHP »

Como guardar fecha NULL

Estas en el tema de Como guardar fecha NULL en el foro de PHP en Foros del Web. Hola , quiero que una fecha se guarde como NULL , pero siempre se guarda como 0000-00-00 00:00:00 , no se que por que sera ...
  #1 (permalink)  
Antiguo 17/09/2010, 09:12
 
Fecha de Ingreso: octubre-2009
Mensajes: 138
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta Como guardar fecha NULL

Hola , quiero que una fecha se guarde como NULL , pero siempre se guarda como 0000-00-00 00:00:00 , no se que por que sera si siempre mando la caja de texto vacia, de que forma lo puedo hacer esta es mi bd:

CREATE TABLE xxxxxxx
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
fecha1 DATETIME NULL,
fecha2 DATETIME NULL
);


agradezco su colaboracion


saludos
  #2 (permalink)  
Antiguo 17/09/2010, 10:05
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 15 años, 1 mes
Puntos: 334
Respuesta: Como guardar fecha NULL

0000-00-00 00:00:00 es el valor por defecto de los campos datetime.. esa es la estructura que tiene el campo.
puedes validarla con un poco de imaginacion.

Código PHP:
list($anyo) = explode('-''0000-00-00 00:00:00');
if (
$anyo == '0000') {
   
// fecha nula

__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 17/09/2010, 10:16
 
Fecha de Ingreso: octubre-2009
Mensajes: 138
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Como guardar fecha NULL

hola mira e probado asi

$query = "INSERT INTO #__xxxxx (id,fecha1,fecha2)
VALUES ('$_POST[txtid]',NULL,NULL)";

y si los guarda nulos

lo que quiero es validar eso diciendo diciendo q si la caja de texo esta vacia entonces sea null, hice esto :

value=<?php if ($_POST[txtfecha1]=="") {echo NULL;} ?>

pero lo guarda como '0000-00-00 00:00:00',

tambien probe quitando los campos del query y tambien los guarda null entonces debe de haber alguna forma de hacerlo creo.



agradezco su colaboracion


saludos
  #4 (permalink)  
Antiguo 17/09/2010, 11:24
Avatar de rickyper  
Fecha de Ingreso: abril-2009
Mensajes: 182
Antigüedad: 15 años, 7 meses
Puntos: 10
Respuesta: Como guardar fecha NULL

Prueba asi:

Código PHP:
Ver original
  1. value=<?php if ($_POST[txtfecha1]=="") {echo "";} ?>

O tambien:


Código PHP:
Ver original
  1. value=<?php if ($_POST[txtfecha1]=="") {echo "NULL";} ?>
  #5 (permalink)  
Antiguo 17/09/2010, 14:19
 
Fecha de Ingreso: octubre-2009
Mensajes: 138
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Como guardar fecha NULL

No funciona
  #6 (permalink)  
Antiguo 17/09/2010, 17:05
Avatar de rickyper  
Fecha de Ingreso: abril-2009
Mensajes: 182
Antigüedad: 15 años, 7 meses
Puntos: 10
Respuesta: Como guardar fecha NULL

Recuerda que en los formularios el valor de value va entre comillas:
Código HTML:
Ver original
  1. value="<?php if ($_POST[txtfecha1]=="") {echo "NULL";} ?>"
  #7 (permalink)  
Antiguo 17/09/2010, 17:07
 
Fecha de Ingreso: octubre-2009
Mensajes: 138
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Como guardar fecha NULL

asi no funciona toma Null como una cadena y lo guarda 0000-00-00 00:00:00 al igual que sin comillas


gracias,

saludos
  #8 (permalink)  
Antiguo 17/09/2010, 17:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Como guardar fecha NULL

Cita:
Iniciado por DIEGO_FX Ver Mensaje
asi no funciona toma Null como una cadena y lo guarda 0000-00-00 00:00:00 al igual que sin comillas


gracias,

saludos
sucede que el valor NULL debes pasarlo en la consulta sin comillas...
Código PHP:
// MAL
$sql "INSERT INTO tabla(campo) VALUES('NULL')";

// BIEN
$sql "INSERT INTO tabla(campo) VALUES(NULL)"
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: null, fechas
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:08.