Foros del Web » Programando para Internet » PHP »

Problema al grabar fecha php-mysql

Estas en el tema de Problema al grabar fecha php-mysql en el foro de PHP en Foros del Web. en un formulario tengo un campo de texto donde inserto la fecha con el formato 010307 (dia, mes, año) y quiero que el campo de ...
  #1 (permalink)  
Antiguo 20/04/2007, 12:35
Avatar de malcolmim  
Fecha de Ingreso: abril-2007
Mensajes: 50
Antigüedad: 17 años
Puntos: 0
Problema al grabar fecha php-mysql

en un formulario tengo un campo de texto donde inserto la fecha con el formato 010307 (dia, mes, año) y quiero que el campo de texto lo despliegue automaticamente al formato ( 01-03-2007) al pasar a otro campo y depsues de eso que pueda ser grabado en MySql con el formato 2007-03-01 ya que ese es el formato con la cual graba mysql.

ayuda!!!!!!!!!!!!!!! tengo con este problema 20 dias y no puedo resolverlo
por su comprension gracias!!!
  #2 (permalink)  
Antiguo 20/04/2007, 12:51
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Problema al grabar fecha php-mysql

Movido al foro de PHP desde Bienvenida a Foros del Web.

Saludos,
  #3 (permalink)  
Antiguo 20/04/2007, 13:04
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: Problema al grabar fecha php-mysql

pues no es complicado excepto lo de como recibes la fecha tipo 07 en el año mmmmmmm vas a tener que descomponer toda la fecha y agragarle en la parte de adelante el 20 aunque tienes todo un milenio para que despues te llamen para modificar el php X), no es muy recomedable como ingresas la fecha, deberia ser
02-03-2007 asi completa pero bueno vamos a tu caso

si la recibes 03-02-07 entonces tendremos que 03 es el dia
primero recibiremos la fecha completa por POST ok :)

envias $fecha = 03-02-07

bueno con substr de php vamos a partir la fecha...
y hacemos :

$fecha = 03-02-07;
$fec = $_POST[fecha];

$dia = ($fec, 0, 2);
$mes = ($fec, 3, 2);
$anyo = ($fec, 6, 2);

y listo tenemos la fecha partida pero debes agregar el 20 antes del anyo para ponerla completa para ello

$anio = "20$anyo";

y listo ahora para meterla a base de datos

haces

$fecha_total = "$anio-$mes-$dia";

espero te sirva si no entiendes me dices :D
puede que me haya equivocado en algo :P

saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #4 (permalink)  
Antiguo 21/04/2007, 10:22
Avatar de malcolmim  
Fecha de Ingreso: abril-2007
Mensajes: 50
Antigüedad: 17 años
Puntos: 0
Re: Problema al grabar fecha php-mysql

muchas gracias!!
parece que va a funsionar voy a ponerlo y ya te digo!!!
  #5 (permalink)  
Antiguo 21/04/2007, 10:28
 
Fecha de Ingreso: marzo-2006
Mensajes: 137
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Problema al grabar fecha php-mysql

/ Ejemplo 1
$pizza = "trozo1/trozo2/trozo3/trozo4/trozo5/trozo6";
$trozos = explode("/", $pizza);
echo $trozos[0]; // trozo1
echo $trozos[1]; // trozo2
  #6 (permalink)  
Antiguo 21/04/2007, 11:03
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Problema al grabar fecha php-mysql

creo que sería mas rápido si lo hicieras de esta manera (como dice kaninox, usando substr).
Código PHP:
//ya sea  que la recibas por $fecha=$_POST['fecha'] o que
// lo recuperes de base de datos $fecha=$row['fecha']
$fecha="010307";
$fecha2= array(substr($fecha,0,2),substr($fecha,2,2),"20".substr($fecha,-2));
$fecha2=implode("-",array_reverse($fecha2));//puedes hacer un echo aqui para ver el resultado 
si aplicas esto el resultado sera 2007-03-01.

y en cuanto a esto
Cita:
Iniciado por kaninox Ver Mensaje
aunque tienes todo un milenio para que despues te llamen para modificar el php X)
creo que se le acortará el tiempo ya que no es un milenio es menos de un siglo y creo que tendrá que darse prisa

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #7 (permalink)  
Antiguo 28/04/2007, 09:02
Avatar de malcolmim  
Fecha de Ingreso: abril-2007
Mensajes: 50
Antigüedad: 17 años
Puntos: 0
Re: Problema al grabar fecha php-mysql

gracias! me funciono el primero pues es el unico que prove y gracias al segundo post tambien.
porcierto ahora quiero desplegar la fecha pero al desplegarla logico me la depliega 2007-01-01 como puedo hacer para que lo despligue 01-01-2007 aun que este en la base de datos guardado con el formato 2007-01-01 quiciera convertirlo antes de desplegarlo para que salga bien

saludos!!!
  #8 (permalink)  
Antiguo 28/04/2007, 10:11
Avatar de ProgramadorMax  
Fecha de Ingreso: diciembre-2003
Ubicación: Ciudad de Mexico.
Mensajes: 47
Antigüedad: 20 años, 4 meses
Puntos: 0
Re: Problema al grabar fecha php-mysql

Utiliza la funcion date() y strtotime ();

Simplemente toma el valor que te envia la columna fecha, en tu consulta que generas.

Código PHP:
Ejemplo:

date('d-m-Y'strtotime ("2007-04-28"));

En otro caso:

date('d-m-Y'strtotime ($fila['fecha'])); 
__________________
Tonto es aquel que tiene el conocimiento y no sabe como usarlo...
Solo destripando creo mostruos de soluciones.
  #9 (permalink)  
Antiguo 28/04/2007, 10:21
 
Fecha de Ingreso: abril-2007
Mensajes: 127
Antigüedad: 17 años
Puntos: 0
Re: Problema al grabar fecha php-mysql

En vez de tanto lio, utiliza la funcion NOW() cuando insertas el contenido a la tabla, y te escribe por defecto año-dia-mes hora-minuto-segundo, sin que tengas que ingresar nada en ningun lado.

Nota: la fecha/horario que setea dicha funcion es la actual del servidor (donde esta alojada la db) a la hora de generar la consulta.
  #10 (permalink)  
Antiguo 28/04/2007, 12:12
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Problema al grabar fecha php-mysql

prueba usando el date_format de mysql

ejemplo

SELECT DATE_FORMAT(tuCampoFecha,'%d-%m-%Y') from tuTabla Where algo='algo'

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #11 (permalink)  
Antiguo 28/04/2007, 12:39
Avatar de ProgramadorMax  
Fecha de Ingreso: diciembre-2003
Ubicación: Ciudad de Mexico.
Mensajes: 47
Antigüedad: 20 años, 4 meses
Puntos: 0
Re: Problema al grabar fecha php-mysql

Cita:
Iniciado por eits Ver Mensaje
prueba usando el date_format de mysql

ejemplo

SELECT DATE_FORMAT(tuCampoFecha,'%d-%m-%Y') from tuTabla Where algo='algo'

saludos.
Muy buena sugerencia eits. el parametro de MYSQL "DATE_FORMAT" es mucho mas conveniente y eficiente.

Opcion que uso mucho he he he.
__________________
Tonto es aquel que tiene el conocimiento y no sabe como usarlo...
Solo destripando creo mostruos de soluciones.
  #12 (permalink)  
Antiguo 28/04/2007, 15:55
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Problema al grabar fecha php-mysql

Cita:
Iniciado por ProgramadorMax Ver Mensaje
Muy buena sugerencia eits. el parametro de MYSQL "DATE_FORMAT" es mucho mas conveniente y eficiente.

Opcion que uso mucho he he he.
gracias ProgramadorMax yo tambien lo uso mucho y no he tenido problemas por eso me atrevi a decirlo(escribirlo)

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
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 12:47.