Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05-12-2005, 08:57:36
Manuel Gomez
 
Mensajes: n/a
Predeterminado Re: MySQL - Seleccionar entre 2 fechas

Diego en las news de es.comp.bd.misc dijo:

> Hola.
> Estoy aprendiendo sobre la marcha php+sql .. y ahora tengo una duda.
> Estoy tratando de seleccionar entre dos meses dados, a mis amigos que
> cumplen aņos.
>
> Tengo 4 menulist (mesdede,aniodesde, meshasta, aniohasta) y los siguientes
> campos en la DB:
>
> idCumple (autonumerico, que es con lo cual relaciono)
> fecha (date - YYYY-MM-DD)
> horaini (time - 00:00:00)
> horafin (time - 00:00:00)
>
> como puedo hacer para seleccionar los datos entre el primer dia del mes
> (mesdesde) al ultimo del meshasta ?
>
> gracias
>
> diego

$fecha_desde = "$aniodesde-$mesdesde";
$fecha_hasta = "$aniohasta-$meshasta";
if ($fecha_hasta < $fecha_desde) {
// Cambio de mes inicial por final si es mayor el final que el inicial
$tmp = $fecha_hasta;
$fecha_hasta = $fecha_desde;
$fecha_desde = $tmp;
list($aniodesde,$mesdesde) = split("-",$fechahasta);
list($aniohasta,$meshasta) = split("-",$fechadesde);
}
$fecha_desde .= "-01";
switch ($meshasta) {
case 4,6,9,11:
$diahasta = 30;
break;
case 2:
// BUSCA AŅO BISIESTO
break;
default:
$diahasta = 31;
}
$fecha_hasta .= "-$diahasta";
$cQuery = "SELECT * FROM Tabla_cumple WHERE fecha BETWEEN '$fecha_desde'
AND '$fecha_hasta'";
Esto es solo para fechas, con un tipo de campo fecha datetime, entonces en
fecha_hasta lo tienes que cambiar por FROM_DAYS(TO_DAYS(fecha_hasta)+1)
Un saludo.
Responder Con Cita