Foros del Web » Programando para Internet » PHP »

Odenar Fechas

Estas en el tema de Odenar Fechas en el foro de PHP en Foros del Web. Hola, mire guardo en la Base de datos el dia, mes, y ano en distintos campos Ahora lo que quiero es hacer una consulta que ...
  #1 (permalink)  
Antiguo 04/03/2011, 15:50
Avatar de fieroso  
Fecha de Ingreso: diciembre-2009
Mensajes: 127
Antigüedad: 14 años, 4 meses
Puntos: 1
Odenar Fechas

Hola, mire guardo en la Base de datos el dia, mes, y ano en distintos campos

Ahora lo que quiero es hacer una consulta que me muestre ordenados los registros conforme se acerque la fecha a la fecha actual y una vez que haya pasado la fecha de ese registro no se muestre.

Mas o menos se como hacerlo pero me pierdo a la hora de comparar fechas.

Muchas gracias a todos de antemano. saludos
  #2 (permalink)  
Antiguo 04/03/2011, 21:25
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: Odenar Fechas

bueno se me ocurre que podria ser asi, no probe el codigo seria cosa de que lo perfeccionaras

http://dev.mysql.com/doc/refman/5.1/...unix-timestamp
http://dev.mysql.com/doc/refman/5.0/...unction_concat

utilizando esas dos funciones
Código:
SELECT UNIX_TIMESTAMP(CONCAT_WS('-',anio,mes,dia)) as fecha from latablamalevola order by fecha;
  #3 (permalink)  
Antiguo 05/03/2011, 03:45
Avatar de fieroso  
Fecha de Ingreso: diciembre-2009
Mensajes: 127
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Odenar Fechas

no me funciola basicamente lo que quiero es con los datos de la base de datos construir una fecha para que sql la pueda comparar ya que solo consigo seleccionar los registros con fecha igual pero sql no me logra saber si una fecha es mayor o menor, quiero saber como hacer esto

saco la fecha actual con php
$fechaactual = date(Y-n-j);

y luego en la consulta quiero que el where me seleccione solo las fechas mayores a la actual, pero en mi bd tengo dia,mes,año en distintos campos ¿como lo hago?

gracias
  #4 (permalink)  
Antiguo 05/03/2011, 06:51
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Odenar Fechas

para trabajar con fechas lo mejor que puedes hacer es utilizar un campo de tipo date y no como lo tienes separado ya que este tipo de campo fue creado para trabajar este tipo de datos si trabajas de esa manera con sencillamente hacer un condicional en la consulta indicando que sea menor o mayor o que este dentro de un rango te aseguro que lo hara
Código MySQL:
Ver original
  1. SELECT * FROM tabla WHERE campo_fecha > '$fecha_actual';
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 05/03/2011, 07:28
Avatar de fieroso  
Fecha de Ingreso: diciembre-2009
Mensajes: 127
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Odenar Fechas

ok, pero no ai ninguna forma de hacerlo para k se guarde cada parámetro en un campo distinto, vamos el dia en uno el mes en otro y el ano en otro, es que ai registros que incluyen el campo dia y mes solo el año.


gracias
  #6 (permalink)  
Antiguo 05/03/2011, 11:14
Avatar de fieroso  
Fecha de Ingreso: diciembre-2009
Mensajes: 127
Antigüedad: 14 años, 4 meses
Puntos: 1
Respuesta: Odenar Fechas

al final para no tener k modificar la base d datos, lo que he hecho es un preparar un script y meterselo a crond, este se encarga de actualizar un nuevo campo date con la información de de los campos ano,dia,mes

saludos
  #7 (permalink)  
Antiguo 05/03/2011, 12:35
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 14 años, 6 meses
Puntos: 17
Respuesta: Odenar Fechas

Al final lo único que estas haciendo es arrastrar el problema, mas adelante si necesitas hacer operaciones con fecha mas complejas vas a tener que hacer mas código innecesario tu solución tómala como algo temporal y planea como hacer las cosas de mejor para eso existen los campo date, datetime y timestamp.
__________________
Saludos.
  #8 (permalink)  
Antiguo 05/03/2011, 13:12
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Odenar Fechas

Cita:
Iniciado por JaimeSavines Ver Mensaje
Al final lo único que estas haciendo es arrastrar el problema, mas adelante si necesitas hacer operaciones con fecha mas complejas vas a tener que hacer mas código innecesario tu solución tómala como algo temporal y planea como hacer las cosas de mejor para eso existen los campo date, datetime y timestamp.
totalmente de acuerdo con el amigo JaimeSavines cada tipo de datos de un gestor de base de datos esta echo para guardar datos del tipo que fue indicado, sino los desarrolladores de estos no se hubieran molestado en hacer sino solo uno que soportara string y listo, vamos amigo lo mejor que puedes hacer es utilizar cada tipo de campo para lo que es. saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
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 15:33.