Foros del Web » Programando para Internet » PHP »

como hacer consultas sobre fechas

Estas en el tema de como hacer consultas sobre fechas en el foro de PHP en Foros del Web. hola a todos, tengo la siguiente consulta Código PHP: "UPDATE autos SET concesionario= '" . $concesionario . "', nombre= '" . $nombre . "', estado=1, matricula=0, fecha=NOW() WHERE numero >= " . $val [ 'numero' ]. " AND estado=0         LIMIT " . ...
  #1 (permalink)  
Antiguo 28/04/2011, 10:08
 
Fecha de Ingreso: enero-2011
Ubicación: Colombia
Mensajes: 61
Antigüedad: 8 años, 10 meses
Puntos: 1
como hacer consultas sobre fechas

hola a todos, tengo la siguiente consulta

Código PHP:
"UPDATE autos SET concesionario= '".$concesionario."', nombre= '".$nombre."', estado=1, matricula=0, fecha=NOW() WHERE numero >= ".$val['numero']." AND estado=0         LIMIT ".$rango_prev."",$link); 
eso lo que hace es capturar los datos que ingresa el usuario y en el campo fecha de la tabla captura la fecha del sistema, en otra instancia de la pagina necesito consultar el campo placa de los registros que tengan el campo matricula =0 y que en la fecha que esta guardada en el campo fecha ya hayan pasado 15 dias respecto al momento en que se hace esta consulta, y no se como hacerlo, alguien me puede ayudar?
  #2 (permalink)  
Antiguo 28/04/2011, 10:17
 
Fecha de Ingreso: febrero-2009
Mensajes: 580
Antigüedad: 10 años, 10 meses
Puntos: 13
Respuesta: como hacer consultas sobre fechas

Podrías por ejemplo, añadir:

Cita:
AND fecha > DATE_SUB(NOW(), INTERVAL 2 WEEK)
Eso te daría las entradas de hasta hace dos semanas ;)

Aunque tambien puedes hacer

Cita:
AND fecha > x AND fecha < Y
Dónde x e y son las fechas de inicio y fin de tu intervalo,

Un saludo
__________________
¿ya conoces la red social de cocina? descubre y comparte recetas de cocina
TONIWEB, un programador web freelance
  #3 (permalink)  
Antiguo 28/04/2011, 10:19
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.650
Antigüedad: 11 años, 8 meses
Puntos: 336
Respuesta: como hacer consultas sobre fechas

para esto convierte la fecha a días y verifica que sean menores a la fecha de hoy menos 15:

puedes ver todas las funciones de fecha aqui: http://dev.mysql.com/doc/refman/5.5/...functions.html

que te servirá bastante para gestionar diferentes tipos de tiempo desde milisegundos a años

para convertir una fecha a dias usa TO_DAYS() y para obtener la fecha de hoy puedes usar CURDATE().

Código MySQL:
Ver original
  1. SELECT placa FROM autos WHERE matricula=0 AND TO_DAYS(fecha) < TO_DAYS(CURDATE())-15;
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Última edición por stramin; 28/04/2011 a las 10:36
  #4 (permalink)  
Antiguo 28/04/2011, 10:50
 
Fecha de Ingreso: enero-2011
Ubicación: Colombia
Mensajes: 61
Antigüedad: 8 años, 10 meses
Puntos: 1
Respuesta: como hacer consultas sobre fechas

Cita:
Iniciado por stramin Ver Mensaje
para esto convierte la fecha a días y verifica que sean menores a la fecha de hoy menos 15:

puedes ver todas las funciones de fecha aqui: http://dev.mysql.com/doc/refman/5.5/...functions.html

que te servirá bastante para gestionar diferentes tipos de tiempo desde milisegundos a años

para convertir una fecha a dias usa TO_DAYS() y para obtener la fecha de hoy puedes usar CURDATE().

Código MySQL:
Ver original
  1. SELECT placa FROM autos WHERE matricula=0 AND TO_DAYS(fecha) < TO_DAYS(CURDATE())-15;
stramin me podrias explicar un poco mas, lo que necesito consultar son las placas que la diferencia entre la fecha de hoy y la que esta en el campo sea mayor o igual a 15 dias, esa consulta si hace eso?
  #5 (permalink)  
Antiguo 28/04/2011, 10:56
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 9 años, 6 meses
Puntos: 36
Respuesta: como hacer consultas sobre fechas

corazon mejor checa un poco una estructura con between
  #6 (permalink)  
Antiguo 28/04/2011, 11:06
 
Fecha de Ingreso: enero-2011
Ubicación: Colombia
Mensajes: 61
Antigüedad: 8 años, 10 meses
Puntos: 1
Respuesta: como hacer consultas sobre fechas

Cita:
Iniciado por ylellan Ver Mensaje
corazon mejor checa un poco una estructura con between
pero con un between lograria sacar los que la diferencia sea menor a 15 dias, y necesito averiguar los que la diferencia sea 15 o mayor
  #7 (permalink)  
Antiguo 28/04/2011, 11:51
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.650
Antigüedad: 11 años, 8 meses
Puntos: 336
Respuesta: como hacer consultas sobre fechas

Cita:
el campo fecha ya hayan pasado 15 dias respecto al momento en que se hace esta consulta
tal como pediste, el código que te dí te dice los que llevan mas de 15 días, o sea los que sean menores a la fecha de hoy menos 15.

El BETWEEN úsalo cuando quieras un rango entre 2 fechas tal como dijo ylellan, pero cuidado, el enlace que te dejó es de SQL, no MySQL, si bien se parecen no son iguales.
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #8 (permalink)  
Antiguo 28/04/2011, 11:59
 
Fecha de Ingreso: enero-2011
Ubicación: Colombia
Mensajes: 61
Antigüedad: 8 años, 10 meses
Puntos: 1
Respuesta: como hacer consultas sobre fechas

Cita:
Iniciado por stramin Ver Mensaje
tal como pediste, el código que te dí te dice los que llevan mas de 15 días, o sea los que sean menores a la fecha de hoy menos 15.

El BETWEEN úsalo cuando quieras un rango entre 2 fechas tal como dijo ylellan, pero cuidado, el enlace que te dejó es de SQL, no MySQL, si bien se parecen no son iguales.
gracias stramin, con una parte de tu codigo pude sacar la consulta mas facil, lo solucione con esta consulta

SELECT placa
FROM motos
WHERE estado =1
AND matricula =0
AND TO_DAYS( CURDATE( ) ) - TO_DAYS( fecha ) >=15


gracias por tu ayuda

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 06:33.