Foros del Web » Programando para Internet » PHP »

Problemas con formato defechas en mysql

Estas en el tema de Problemas con formato defechas en mysql en el foro de PHP en Foros del Web. He conseguido leer un archivo CSV y cargar toda la data que esta en ella a la base de datos, ahora tengo un problema mayor ...
  #1 (permalink)  
Antiguo 10/05/2005, 14:13
 
Fecha de Ingreso: septiembre-2004
Mensajes: 91
Antigüedad: 20 años, 2 meses
Puntos: 0
Exclamación Problemas con formato defechas en mysql

He conseguido leer un archivo CSV y cargar toda la data que esta en ella a la base de datos, ahora tengo un problema mayor en mi archivo CSV tengo un campo fecha con el formato 'dd/mm/yyyy' pero el mysql tiene como defecto la fecha del formato 'yyyy-mm-dd', con lo cual al terminar la carga de datos todas mis fechas aparecen como '0000-00-00', como puedo hacer para cambiarle el formato de fecha al mysl, porque los archivos son cargados directamente por el ususario mediante una inetrfaz php, les agradecre su ayuda.
  #2 (permalink)  
Antiguo 10/05/2005, 14:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Se lo cambias a mano con PHP antes de ejecutar tu query (INSERT) a tu BD ...

Con explode() puedes partir tu "cadena" (que es lo que para PHP es tu dato de fecha obtenido por tu rutina que lee ese CSV) y así obtener tu "dia", "mes", "año" de esa fecha .. Luego lo concatenas de la forma que necesita el formato del campo fecha que usas en tu BD .. Es decir dejando algo tipo:

Código PHP:
<?
$fecha_csv
="dd/mm/yyyy";
$fecha=explode("/",$fecha_csv);
$fecha_db=$fecha[2]."-".$fecha[1]."-".$fecha[0];
// y $fecha_db a tu INSERT .. 
?>
Lo que no sé es como llevas a tu CSV a tu BD .. no sé si usas algún comando de Msyql directo o lees tu archivo línea por línea (registro) y vas creando tu "INSERT" por registro para tu BD .. Para hacer lo que te propongo deberías hacerlo así .. pues es un proceso por médio que debes hacer ..

Un saludo,
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:45.