Foros del Web » Programando para Internet » PHP »

Busqueda por fechas

Estas en el tema de Busqueda por fechas en el foro de PHP en Foros del Web. Buenas tardes. Tengo que hacer una busqueda usando "Select" en una base datos que tiene un campo DATE. No tengo ni idea de como buscar ...
  #1 (permalink)  
Antiguo 09/07/2012, 07:40
 
Fecha de Ingreso: abril-2011
Mensajes: 99
Antigüedad: 13 años
Puntos: 2
Pregunta Busqueda por fechas

Buenas tardes. Tengo que hacer una busqueda usando "Select" en una base datos que tiene un campo DATE.
No tengo ni idea de como buscar por una fecha en concreto o acotar por mes o por año.
Alguien puede, por favor, explicarme como serian las busquedas de este tipo?
Muchas gracias.
  #2 (permalink)  
Antiguo 09/07/2012, 07:54
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Busqueda por fechas

lo ideal es saber como espera el interprete SQL de la base de datos la fecha, como DD-MM-YYYY, o utilizar sus funciones especificas de conversión, por ejemplo en MySQL tienes STR_TO_DATE, además de muchas funciones como MONTH que devuelven sólo el mes: http://dev.mysql.com/doc/refman/5.5/...functions.html
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 09/07/2012, 09:24
 
Fecha de Ingreso: marzo-2007
Mensajes: 59
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: Busqueda por fechas

Todo depende de que quieras obtener te puedo poner un ejemplo pero si te explicas mejor tal vez te pueda ayudar más

Código MySQL:
Ver original
  1. $query="SELECT id, oferta, costo, descuento, vendido, total,  DATE_FORMAT(expiracion, '%d-%m-%Y') as fecha1, descripcion FROM `tabla` WHERE CURRENT_DATE( ) <= `expiracion` and  CURRENT_DATE( ) >= `desde`  ORDER BY `tabla`.`id`
  #4 (permalink)  
Antiguo 09/07/2012, 14:49
 
Fecha de Ingreso: abril-2011
Mensajes: 99
Antigüedad: 13 años
Puntos: 2
Pregunta Respuesta: Busqueda por fechas

Si, basicamente lo que quiero hacer es muy facil pero no lo consigo...

Si que consigo ordenar por fecha ascendiente o descendiente... Select by Fecha asc/desc...
Hasta aqui todo OK...

el problema viene cuando por ejemplo quiero que:

- Este Ordenado por fecha, la mas reciente la primera...
Pero ademas de las mas recientes...
La mas reciente de las recientes aparezca primero.

Es decir... Lo que estoy haciendo es un sistema de noticias, ordenado todo por fecha, y si quiero que las noticias de HOY aparezcan arriba no tengo problemas.. PERO...

El problema viene si dentro del mismo dia se generan noticias en distintas horas.
Solo me pone la de las 8 AM la primera y de ahi aparecen el resto... cuando lo que quiero es que me aparezca por ejemplo la de las 21, luego las 20, luego las 17... y asi hasta la primera que era las 8.

Es decir, un orden dentro del orden de fecha...

Como puedo hacer esto??

Muchas gracias !!!!
  #5 (permalink)  
Antiguo 09/07/2012, 14:58
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Busqueda por fechas

Pero si tu dato es DATE entonces no tienes la hora, en ese caso estamos hablando de un DATETIME y para eso podrias probar con:

Código MySQL:
Ver original
  1. ORDER BY DATE(tuCampo), TIME(tuCampo)

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #6 (permalink)  
Antiguo 09/07/2012, 16:50
 
Fecha de Ingreso: marzo-2007
Mensajes: 59
Antigüedad: 17 años, 1 mes
Puntos: 1
Respuesta: Busqueda por fechas

Lo que dice Marvin es correcto, no se si tu campo de fecha esta como TIMESTAMP o tienes almacenada fecha y hora en campos diferentes.

Etiquetas: busquedas
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 08:16.