Foros del Web » Programando para Internet » PHP »

insertar fecha en mysql desde form

Estas en el tema de insertar fecha en mysql desde form en el foro de PHP en Foros del Web. Hola!! He hecho varias pruebas para insertar la fecha y nadamás no doy con la solución es por eso que recurro a ustedes. El campo ...
  #1 (permalink)  
Antiguo 23/04/2003, 12:19
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 15 años, 9 meses
Puntos: 1
insertar fecha en mysql desde form

Hola!!

He hecho varias pruebas para insertar la fecha y nadamás no doy con la solución es por eso que recurro a ustedes.

El campo en mysql es de tipo fecha y la fecha que pido en form la solicito con el formato dd-mm-aaaa.

He encontrado un mensaje de Cain que es exactamente lo que me pasa, él lo solucionó pero no tiene la respuesta

http://www.forosdelweb.com/showthrea...nsertar+fechas

Saludos!!
  #2 (permalink)  
Antiguo 23/04/2003, 12:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y de tu formaulario .. como obtienes la fecha?

** En un campo dejas que escriban el formato que les de la gana? .. lo validas de alguna forma?

** Usas 3 campos en tu formulario (uno para dia/mes/año) ..?

Pon el código que uses ...así será mejor para orientarte.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 23/04/2003, 12:31
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 15 años, 9 meses
Puntos: 1
gracias Cluster

pido la fecha en un solo campo que no valido únicamente incluyo una nota que indica como deben introducir la fecha:

en el form:

fecha (dd-mm-aaaa)<input type="text" name="fecha" size="10">

y cuando inserto:

mysql_query("INSERT eventos (idCliente, evento, fecha, lugar) VALUES($cliente, '$evento','$fecha' ,'$lugar'",$conexion);
  #4 (permalink)  
Antiguo 23/04/2003, 12:36
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Que cosas eh

Lo debería haber puesto ahí en su día, pero nunca es tarde si la dicha es buena.

Obtengo:
$fecha = 23/04/2003 # por ejemplo

Y quiero pasarlo a:
$fecha = 2003-04-32

Solución:

$fecha = substr($fecha, 6, 4).substr($fecha, 3, 2).substr($fecha, 0, 2);
__________________
M a l d i t o F r i k i
  #5 (permalink)  
Antiguo 23/04/2003, 12:40
Avatar de fmmeson  
Fecha de Ingreso: enero-2002
Ubicación: Tucuman
Mensajes: 401
Antigüedad: 15 años, 10 meses
Puntos: 2
crea un campo en la tabla del tipo datetime y utiliza la funcion now() de mysql
Código PHP:
mysql_connect("localhost","","");
mysql_db_query("downwarez","insert into usuarios (c_nick,c_pass,c_fecha) values ('$nick','$pass',NOW())") or die (mysql_error());
mysql_close(); 
El lo mas sensillo que puedes hacer y muy facil.....Un Saludo
  #6 (permalink)  
Antiguo 23/04/2003, 12:46
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Cita:
Mensaje Original por fmmeson
crea un campo en la tabla del tipo datetime y utiliza la funcion now() de mysql
Código PHP:
mysql_connect("localhost","","");
mysql_db_query("downwarez","insert into usuarios (c_nick,c_pass,c_fecha) values ('$nick','$pass',NOW())") or die (mysql_error());
mysql_close(); 
El lo mas sensillo que puedes hacer y muy facil.....Un Saludo
La función now() de MySQL devuelve la FECHA ACTUAL. Si quieres pasar una fecha introducida por el usuario mediante formulario a MySQL, NO PUEDES usar now().
__________________
M a l d i t o F r i k i
  #7 (permalink)  
Antiguo 23/04/2003, 12:48
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 15 años, 9 meses
Puntos: 1
gracias por responder

fmmeson necesito que el usuario introduzca la fecha, pero gracias por el comentario.

provaré la solución de Caín, gracias!!

  #8 (permalink)  
Antiguo 23/04/2003, 13:00
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 15 años, 9 meses
Puntos: 1
Funciona a la perfección

muchísimas gracias Cain.
  #9 (permalink)  
Antiguo 23/04/2003, 16:37
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

La solucion de Cain es buena, pero solo si el usuario mete la fecha con 2 digitos para el dia, 2 para el mes y 4 para el año. Otra opcion seria hacer un explode() por el separador / y solo funcionaria si usan como separador ese caracter. Y ambos metodos solo funcionarian si el usuario se ajusta a ese formato.

Yo te recomendaria que usases 3 select, uno para el dia, otro para el mes y otro para el año. El del año lo puedes sustituir por una caja de texto, es facil validarlo. Despues solo debes concatenar los valores. Asi evitas que los usarios "juegen" con los valores.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 24/04/2003, 09:24
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Yo suelo usar Javascript para asegurarme que usen el formato correcto. Sé que no es muy "correcto" porque existe la posibilidad que un usuario tenga Javascript desactivado, pero es un riesgo que debo asumir
__________________
M a l d i t o F r i k i
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 08:14.