Article View: es.comp.bd.misc
Article #86Re: MySQL - Seleccionar entre 2 fechas
From: Manuel Gomez
Date: Mon, 05 Dec 2005 08:57
Date: Mon, 05 Dec 2005 08:57
48 lines
2587 bytes
2587 bytes
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.
Technical Details
Message-ID:
<4iTkf.217737$E72.2062265@telenews.teleline.es>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!newsread.com!news-xfer.newsread.com!news-out.usenet.com!propagator2-sterling.newsfeeds.com!in.nntp.be!caladan.landsraad.net!telenews.teleline.es!not-for-mailReferences:
<dmvhp2$hc3$1@domitilla.aioe.org>Show Full Headers
Complete Article Headers
X-Google-Thread: 106e2f,38ff2cc16b437bf4 X-Google-Attributes: gid106e2f,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!newsread.com!news-xfer.newsread.com!news-out.usenet.com!propagator2-sterling.newsfeeds.com!in.nntp.be!caladan.landsraad.net!telenews.teleline.es!not-for-mail X-Trace-PostClient-IP: 80.36.3.111 From: Manuel Gomez <Una@cualquiera.com> Subject: Re: MySQL - Seleccionar entre 2 fechas Newsgroups: es.comp.bd.misc References: <dmvhp2$hc3$1@domitilla.aioe.org> Lines: 48 User-Agent: KNode/0.8.2 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8Bit Message-ID: <4iTkf.217737$E72.2062265@telenews.teleline.es> Date: Mon, 05 Dec 2005 08:57:36 GMT NNTP-Posting-Host: 10.20.31.4 X-Complaints-To: usenet@teleline.es X-Trace: telenews.teleline.es 1133773056 10.20.31.4 (Mon, 05 Dec 2005 09:57:36 MET) NNTP-Posting-Date: Mon, 05 Dec 2005 09:57:36 MET Organization: Terra Networks