Foros del Web » Programando para Internet » PHP »

Mysql, tipo date

Estas en el tema de Mysql, tipo date en el foro de PHP en Foros del Web. Increpo una vez mas, espero que no que me tengan que oir mucho mas, el caso es que necesito un campo en la base de ...
  #1 (permalink)  
Antiguo 13/12/2004, 17:10
 
Fecha de Ingreso: octubre-2004
Mensajes: 168
Antigüedad: 19 años, 6 meses
Puntos: 0
Mysql, tipo date

Increpo una vez mas, espero que no que me tengan que oir mucho mas, el caso es que necesito un campo en la base de datos que sea Fecha, por lo que yo con buena fe, le he puesto que sea de tipo date, el caso es que he visto que por defecto señala 0000-00-00, y al insertar en la base de datos, has de insertar de esa forma año-mes-dia, la cuestión es, ¿cómo puedo hacer para que sea dia-mes-año? Eso es todo. Gracias
  #2 (permalink)  
Antiguo 13/12/2004, 17:32
Avatar de jmn2k1  
Fecha de Ingreso: noviembre-2001
Ubicación: Buenos Aires...
Mensajes: 489
Antigüedad: 22 años, 5 meses
Puntos: 2
No puedes, al menos con un campo de tipo date, podrias guardar la fecha como una cadena con el formato que quieras en un campo tipo varchar, por decir alguno.

Ademas por lo que preguntas, tal vez te resulte interesante saber de la funcion de mysql DATE_FORMAT (Consulta el manual: http://dev.mysql.com/doc/mysql/en/Da...functions.html) con la que le puedes dar el formato que desees a la hora de hacer la consulta.

Espero que te sirva.
__________________
JmN
  #3 (permalink)  
Antiguo 13/12/2004, 17:40
 
Fecha de Ingreso: noviembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 249
Antigüedad: 20 años, 4 meses
Puntos: 2
Yo recomendaria guardarlo como entero con un tamaño de 10 y luego usar la funcion date con los parametros necesarios para darle el formato que se desee...

Eso es lo yo siempre hago y no he tenido problemas...
__________________
Crea tu Foro Gratis
Portal Tabasco
  #4 (permalink)  
Antiguo 14/12/2004, 05:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Programmer

Pero .. para eso ya están los campos DATE o DATETIME y las funciones DATE_FORMAT() de Mysql para dar el formato que gustes de salida .. Además esto te viene bien para operar con esos campos y realizar cálculos de fechas desde SQL .. que siempre es má optimo que hacerlo vía PHP al obtener los datos.

Un saludo,
  #5 (permalink)  
Antiguo 14/12/2004, 06:51
 
Fecha de Ingreso: octubre-2004
Mensajes: 168
Antigüedad: 19 años, 6 meses
Puntos: 0
Mmm, he consultado el date format, pero sólo he visto ejemplos para consulta y la cuestión es que yo estoy interesado en que la fecha se me inserte desde formulario, que debería poner un sólo textbox o uno para día, otro para mes y otro para año?
  #6 (permalink)  
Antiguo 14/12/2004, 07:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La fecha la puedes tomar desde tus formularios HTML como gustes .. será PHP el que tenga que formar el formato standard de un campo DATE (o DATETIME) que es:

aaaa-dd-mm

así lo guardaras en tu tabla en tu campo tipo "DATE" y luego cuando quieras ver dicho campo podrás darle el formato que guestes de salida ..

Por ejemplo .. si quieres que tus usuarios pongan sus fechas en formato:
dd/mm/aaaa (en un campo input text de tu formulario común ..)

Tu scripts PHP tendrá que "ordenar" ese dia, mes y año de tal forma que quede como el standard del campo DATE dice:

Código PHP:
$fecha_original="14/12/2004";
$fecha_partes=explode("/",$fecha_original);
$dia=$fecha_partes[0];
$mes=$fecha_partes[1];
$anyo=$fecha_partes[2];

$fecha_date=$anyo.'-'.$mes.'-'.$dia;

$sql="INSERT INTO tabla (fecha) VALUES ('".$fecha_date."')";
// etc ... 

Un saludo,

Última edición por Cluster; 14/12/2004 a las 07:08
  #7 (permalink)  
Antiguo 14/12/2004, 13:22
Avatar de El_MiMo  
Fecha de Ingreso: septiembre-2003
Ubicación: Chile
Mensajes: 123
Antigüedad: 20 años, 7 meses
Puntos: 1
Yo tengo las fechas guardadas 2004-12-31... y la transformo a 31 de Diciembre de 2004 así:

setlocale (LC_TIME,"spanish");
$diaes=$row[fecha];
$diaes=strftime ("%d de %B de %Y",strtotime($diaes));

y la muestro: $diaes
__________________
aaa!!
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 05:56.