Foros del Web » Programando para Internet » PHP »

Problemas con fechas

Estas en el tema de Problemas con fechas en el foro de PHP en Foros del Web. Hola. Tengo un problemilla con las fechas en PHP y como mostrarlas. Tengo la fecha dividida en mi base de datos en 3 campos, DIA, ...
  #1 (permalink)  
Antiguo 08/06/2011, 02:06
 
Fecha de Ingreso: abril-2011
Mensajes: 99
Antigüedad: 13 años
Puntos: 2
Exclamación Problemas con fechas

Hola.
Tengo un problemilla con las fechas en PHP y como mostrarlas.

Tengo la fecha dividida en mi base de datos en 3 campos, DIA, MES, ANIO y con eso conformo la fecha a la hora de hacer el echo $dia/$mes/$anio.

Quiero hacer un listado de los registros, pero de manera ordenada.. y no me sale. Se que es una tonteria, pero no lo consigo.

Quiero hacerlo del mas viejo al mas nuevo, es decir, el 1-enero-1900 el primero y el 1-enero-3000 el ultimo.... es un ejemplo.

Como puedo ordenar esto??? lo hago en el select? o en un order by?

Por favor, alguna ayuda con las fechas...
Gracias.
  #2 (permalink)  
Antiguo 08/06/2011, 02:26
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Problemas con fechas

¿Sabes que puedes almacenar la fecha en un sólo campo de la tabla no?
De hecho es lo correcto, 3 campos sobran.

Te sería fácil de hacer si la fecha estuviera en un campo date o datetime.
Harías la consulta (Que como ves este es el foro de PHP no de MySQL) con un ORDER BY (ASC o DESC) según necesites y listo.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #3 (permalink)  
Antiguo 08/06/2011, 02:42
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 8 meses
Puntos: 21
Respuesta: Problemas con fechas

1.- Si puedes hacer lo que comenta IEKK hazlo y no sigas leyendo esto.

2.- Si no es posible, esto podría ayudarte:

Código PHP:
select date_format(concat_ws("-",campo_año,campo_mes,campo_dia), '%Y-%d-%c') as fecha from nombre_tabla
order by fecha desc 
__________________
----
http://www.mascodigo.com
  #4 (permalink)  
Antiguo 08/06/2011, 03:18
 
Fecha de Ingreso: abril-2011
Mensajes: 99
Antigüedad: 13 años
Puntos: 2
Respuesta: Problemas con fechas

Hola.
Gracias a los 2.
Lo del campo de fecha ya sabia que se podia hacer, pero no tengo ni idea y es la primera vez que me meto en estas movidas, asi que no se como se gestiona ese campo, por eso lo hice en 3 campos....
Ahora ya es tarde, por que la tabla tiene casi 700 registros y en aumento y crear un nuevo campo de fecha ahora... uff...
De todas maneras voy a probar la segunda opcion, aunque no la comprendo mucho... en realidad nada... pero para eso estoy aqui, para aprender y pelearme con todas estas movidas.
Muchas gracias a los 2.
  #5 (permalink)  
Antiguo 08/06/2011, 03:48
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 8 meses
Puntos: 21
Respuesta: Problemas con fechas

1.- La función concat_ws une varios campos por el carácter de separación indicado. En este caso un guión.


2.- La función date_format muestra una fecha según el formato indicado como segundo parámetro.

3.- as fecha es un alias, para poder utilizar el resultado de las funciones anteriores mas facilmente.
__________________
----
http://www.mascodigo.com
  #6 (permalink)  
Antiguo 08/06/2011, 03:56
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 8 meses
Puntos: 21
Respuesta: Problemas con fechas

Puedes mejorar tu tabla así:

1.- Crea un campo fecha tipo datetime

2.- Ejecuta esta consulta (modificada para tu tabla)
Código PHP:
UPDATE tabla SET nombre_campo_fecha date_format(concat_ws("-",campo_anio,campo_mes,campo_dia), '%Y-%c-%d'
Lo único que la hora, minutos y segundos se quedarán todos a 0.

OJO! Antes de probar esto haz una copia de seguridad.
__________________
----
http://www.mascodigo.com

Última edición por nx00; 08/06/2011 a las 04:04
  #7 (permalink)  
Antiguo 08/06/2011, 07:38
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Problemas con fechas

lo que te decia IEKK es que crees un campo tipo date (solo para fecha) datetime(fecha y hora)
y no hagas 3 campos para la fecha, y te es mucho mejor así pq despues puedes ordenar por fechas y hacer trabajos de fechas con funciones mysql
  #8 (permalink)  
Antiguo 08/06/2011, 09:23
 
Fecha de Ingreso: abril-2011
Mensajes: 99
Antigüedad: 13 años
Puntos: 2
Respuesta: Problemas con fechas

Ok, voy a ver lo de crear un campo de tipo DATE y ejecuto la consulta, a ver que pasa... seguro que es mucho mejor y teneis razon... os digo en un par de dias...
Gracias !!!!!!!!
  #9 (permalink)  
Antiguo 08/06/2011, 09:26
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Problemas con fechas

ok, suerte y busca tmb sobre funciones mysql para el trabajo de fechas, te sorprenderás de todo lo que se puede hacer

Etiquetas: fechas
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 01:08.