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
Author: Diego
Date: Sun, 04 Dec 2005 19:58
Date: Sun, 04 Dec 2005 19:58
19 lines
1445 bytes
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
Author: 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.
Re: MySQL - Seleccionar entre 2 fechas
Author: Diego
Date: Tue, 06 Dec 2005 01:15
Date: Tue, 06 Dec 2005 01:15
57 lines
2795 bytes
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
Author: Diego
Date: Tue, 06 Dec 2005 02:46
Date: Tue, 06 Dec 2005 02:46
43 lines
2027 bytes
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
Author: Manuel Gomez
Date: Wed, 07 Dec 2005 07:50
Date: Wed, 07 Dec 2005 07:50
53 lines
2519 bytes
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