🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.bd.misc
5 messages
5 total messages Started by Diego Sun, 04 Dec 2005 19:58
MySQL - Seleccionar entre 2 fechas
#85
Author: Diego
Date: Sun, 04 Dec 2005 19:58
19 lines
1445 bytes
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 
Re: MySQL - Seleccionar entre 2 fechas
#86
Author: Manuel Gomez
Date: Mon, 05 Dec 2005 08:57
48 lines
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.
Re: MySQL - Seleccionar entre 2 fechas
#87
Author: Diego
Date: Tue, 06 Dec 2005 01:15
57 lines
2795 bytes
Muchas gracias Manuel.
Ya la inserto en el codigo y la pruebo !

Diego

"Manuel Gomez" <Una@cualquiera.com> escribi� en el mensaje 
news:4iTkf.217737$E72.2062265@telenews.teleline.es...
> 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. 
Re: MySQL - Seleccionar entre 2 fechas
#88
Author: Diego
Date: Tue, 06 Dec 2005 02:46
43 lines
2027 bytes
Manuel, me tira un error : Parse error: parse error in 
c:\appserv\www\k-crm\functions.php on line 42
Jamas trabaje con switch, tenes idea que puede ser?

<?php
/*
[---]
  mas codigo.php
[---]
*/

function buscar($aniodesde,$mesdesde,$aniohasta,$meshasta){
$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: 
<--------------------- linea 42
                $diahasta = 30;
                break;
        case 2:
                // BUSCA A�O BISIESTO
                break;
        default:
                $diahasta = 31;
}

?>

antes de mandar este post, me puse a ver un poco mas a fondo, parece que 
$meshasta esta vacio, por eso el error, sin embargo, no logro hacer que pase 
la variable 
Re: MySQL - Seleccionar entre 2 fechas
#89
Author: Manuel Gomez
Date: Wed, 07 Dec 2005 07:50
53 lines
2519 bytes
Diego en las news de es.comp.bd.misc dijo:

> Manuel, me tira un error : Parse error: parse error in
> c:\appserv\www\k-crm\functions.php on line 42
> Jamas trabaje con switch, tenes idea que puede ser?
> 
> <?php
> /*
> [---]
>   mas codigo.php
> [---]
> */
> 
> function buscar($aniodesde,$mesdesde,$aniohasta,$meshasta){
> $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:
> <--------------------- linea 42
>                 $diahasta = 30;
>                 break;
>         case 2:
>                 // BUSCA A�O BISIESTO
>                 break;
>         default:
>                 $diahasta = 31;
> }
> 
> ?>
> 
> antes de mandar este post, me puse a ver un poco mas a fondo, parece que
> $meshasta esta vacio, por eso el error, sin embargo, no logro hacer que
> pase la variable
Mea Culpa:
switch ($meshasta) {
        case 4:
        case 6:
        case 9:
        case 11:
        // IGUAL TODO el resto
}
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads