Foros del Web » Programando para Internet » PHP »

Problema con Fecha.

Estas en el tema de Problema con Fecha. en el foro de PHP en Foros del Web. Rescato Fecha de la siguiente manera: $f_year=date("Y"); $f_mes=date("m"); $f_dia=date("d"); Donde: DD=f_dia, MM=f_mes y AA=f_year Para ser desplegado en cajas de texto DD-MM-AA, por separado con ...
  #1 (permalink)  
Antiguo 15/11/2005, 08:25
 
Fecha de Ingreso: octubre-2005
Mensajes: 405
Antigüedad: 12 años, 1 mes
Puntos: 1
Problema con Fecha.

Rescato Fecha de la siguiente manera:
$f_year=date("Y");
$f_mes=date("m");
$f_dia=date("d");
Donde:
DD=f_dia, MM=f_mes y AA=f_year
Para ser desplegado en cajas de texto DD-MM-AA, por separado con el objetivo que el usuario modifique el Día, Mes o Año según lo requiera.

Luego lo guardo en una variable de la siguiente manera:
$fecha="$year-$mes-$dia";

Y le asigno el valor de $fecha a $f_estimada así:
$f_estimada=$fecha

Para grabar variable (f_estimada) en tabla SERVICIO.

Dicho procedimiento me deja el valor de $f_estimada como 0000-00-00; por ende hay algo malo en este procedimiento.

ME PODRIAN AYUDAR CON ALGUNA RECOMENDACIÓN.
  #2 (permalink)  
Antiguo 15/11/2005, 08:37
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 12 años, 4 meses
Puntos: 0
Debes concatenar la variable asi..

$fecha=$f_year.'-'.$f_mes.'-'.$f_dia";

deberia funcionarte

Saludos
  #3 (permalink)  
Antiguo 15/11/2005, 08:47
Avatar de Quest  
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago
Mensajes: 129
Antigüedad: 15 años
Puntos: 2
primero

$f_year=date("y"); //y minuscula para que de dos digitos (05)

y lo otro que valor le tienes al campo donde guardas la fecha ? varchar, date, datetime....
__________________
http://victorsanmartin.com
Web Developer
http://www.guiasitios.cl
  #4 (permalink)  
Antiguo 15/11/2005, 08:47
 
Fecha de Ingreso: noviembre-2005
Mensajes: 19
Antigüedad: 12 años, 1 mes
Puntos: 0
Hola, por un lado en la tabla que vas añadir el registro el campo que le indicas esta en date no?

Despues podrias poner la consulta que ejecutas desde PHP para ver si se esta realizando bien?

has probado a ver que errores te da mysql_error() y mysql_errno() ?

El primero te dira en texto el problema que has tenido en tu consulta, si habido algun error, el segundo devuelve el numero de error que es, pero si no hubo ningun error te dara 0.

Sobre lo de usar $año.'-'.$mes.'-'.$dia a poner "$ano-$dia-$mes" es lo mismo, pero a mi me gusta más la primera opcion ya que el interprete de php no tendra que buscar en la cadena de texto entera que tiene que parsear y que no.

En tu consulta para guardar los datos (el insert) pones comillas simples (') entre la fecha? es decir

Código PHP:
mysql_query("insert into [TABLA][(campos)] values('$mifecha')"); 
  #5 (permalink)  
Antiguo 15/11/2005, 08:48
Avatar de Quest  
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago
Mensajes: 129
Antigüedad: 15 años
Puntos: 2
Cita:
Iniciado por gonzalezmfrank
$fecha=$f_year.'-'.$f_mes.'-'.$f_dia";

eso va a enviar error...

asi seria.

$fecha=$f_year.'-'.$f_mes.'-'.$f_dia;
__________________
http://victorsanmartin.com
Web Developer
http://www.guiasitios.cl
  #6 (permalink)  
Antiguo 15/11/2005, 08:51
 
Fecha de Ingreso: noviembre-2005
Mensajes: 19
Antigüedad: 12 años, 1 mes
Puntos: 0
Cita:
Iniciado por Quest
primero

$f_year=date("y"); //y minuscula para que de dos digitos (05)

y lo otro que valor le tienes al campo donde guardas la fecha ? varchar, date, datetime....
Que use Y o y no importa en el resultado final, funcionan los dos tipos de consulta 05-11-15 que 2005-11-15, te dara en tu base de datos lo mismo, MySQL te pondria el 05 por 2005
  #7 (permalink)  
Antiguo 15/11/2005, 09:34
 
Fecha de Ingreso: octubre-2005
Mensajes: 405
Antigüedad: 12 años, 1 mes
Puntos: 1
en cuanto al formato no tengo problemas, lo que pasa es que cuando modifico uno de estos datos DIA, MES u AÑO el valor de la fecha a regrabar queda en 0000-00-00.
¿Que tengo que hacer para modificar un dato desplegado?
  #8 (permalink)  
Antiguo 15/11/2005, 09:37
 
Fecha de Ingreso: noviembre-2005
Mensajes: 19
Antigüedad: 12 años, 1 mes
Puntos: 0
Pon el codigo que usas para modificar el valor y te diremos porque pasa, si estas ejecutando una mala consulta o no o si viene por problema en alguna variable
  #9 (permalink)  
Antiguo 15/11/2005, 09:47
 
Fecha de Ingreso: octubre-2005
Mensajes: 405
Antigüedad: 12 años, 1 mes
Puntos: 1
Realice una modificaciones pero aun tengo problemas.

Asi asigno:
$fecha=date("Y-m-d");
$var=explode('-',$fecha);
$var_fecha="$var[0]-$var[1]-$var[2]";

asi muestro en cajas de texto.
<input type=text name=dia maxlength=2 value='$var[2]' size=2> <input type=text name=mes maxlength=2 value='$var[1]' size=2> <input type=text name=year maxlength=4 value='$var[0]' size=4>
Es en las cajas de texto donde modifico los datos ya sea el dia, mes u año.

Se supone que aca recupero los datos modificados y lo asigno a la variable:
$festimada="$var[0]-$var[1]-$var[2]";

en la rutina de ACTUALIZACION realizo lo siguiente:
$festimada=$_POST['festimada'];
$sql="update servicio set f_estimada='$festimada' where folio='$fol' limit 1";
mysql_query($sql,$db) or die(mysql_error());

ESPERO DARME A ENTENDER MEJOR....... GRACIAS
  #10 (permalink)  
Antiguo 15/11/2005, 10:00
 
Fecha de Ingreso: noviembre-2005
Mensajes: 19
Antigüedad: 12 años, 1 mes
Puntos: 0
Cita:
Iniciado por [email protected]
<input type=text name=dia maxlength=2 value='$var[2]' size=2> <input type=text name=mes maxlength=2 value='$var[1]' size=2> <input type=text name=year maxlength=4 value='$var[0]' size=4>
Este formulario te va a enviar un array que podras acceder a el por la superglobal $_POST que contendria en el:

Array(
'dia' => [el valor del campo dia],
'mes' => [el valor del campo mes],
'year' => [el valor del campo year],
etc....
)

Con lo cual para poder acceder a el deberias usar $_POST['dia'] ... y con los otros dos nombres.

Cita:
$festimada="$var[0]-$var[1]-$var[2]";
Esto no entiendo para que lo usas ni en que momento se usa

Cita:
$festimada=$_POST['festimada'];
Con lo cual esto es falso porque deberias poner

Código PHP:
$festimada $_POST['year'].'-'.$_POST['mes'].'-'.$_POST['dia']; 
Eso en el fichero que debe recibir los datos de tu formulario

Un Saludo
  #11 (permalink)  
Antiguo 15/11/2005, 13:20
 
Fecha de Ingreso: octubre-2005
Mensajes: 405
Antigüedad: 12 años, 1 mes
Puntos: 1
Disculpa, pero aun no me funciona. Como te daras cuenta soy nuevo en esto por eso me cuesta un poquito pero con la sabiduria de todos ustedes se que lograre dominar este lenguaje.. GRACIAS
  #12 (permalink)  
Antiguo 15/11/2005, 14:20
 
Fecha de Ingreso: octubre-2005
Mensajes: 405
Antigüedad: 12 años, 1 mes
Puntos: 1
Gracias por tu respuesta me ayudo muchisimo a encontrar respuesta a mi consulta.
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:51.