ik wil graag een query uitvoeren en een array krijgen met de volgende data,
namelijk
$array[id] = datum;
$array[10] = '11-11'2006';
$array[11] = 1;
dit om een maandkalender dag voor dag op te bouwen. (ik weet dat er veel gratis scripts hiervoor zijn, ik wil deze alleen graag zelf schrijven). ik heb dus de volgende tabel,
evenementen
id titel startdatum einddatum link
hij moet dus op 3 items selecteren
* als iets in bv feb. start (startdate) of plaatsvind (dan is einddatum leeg).
* als iets in bv feb. stop.
* als iets voor feb. start en hierna eindigt.
nu heb ik zelf de volgende query in elkaar geklutst (werk wel).
De ene keer is in het resultaat de datum de einddatum, de andere keer dus de startdatum en anders is die 1. (vind dus in de hele maand plaats). ik heb lang lopen spelen in na lang prutsen ben ik tot de volgende query gekomen. Dit moet toch veel beter kunnen?.
Nu zitten hier veel dezelfde items in en weet ik wel zeker dat dit geen nette manier is. dit moet makkelijker kunnen, heeft iemand hier een idee over.
namelijk
$array[id] = datum;
$array[10] = '11-11'2006';
$array[11] = 1;
dit om een maandkalender dag voor dag op te bouwen. (ik weet dat er veel gratis scripts hiervoor zijn, ik wil deze alleen graag zelf schrijven). ik heb dus de volgende tabel,
evenementen
id titel startdatum einddatum link
hij moet dus op 3 items selecteren
* als iets in bv feb. start (startdate) of plaatsvind (dan is einddatum leeg).
* als iets in bv feb. stop.
* als iets voor feb. start en hierna eindigt.
nu heb ik zelf de volgende query in elkaar geklutst (werk wel).
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| SELECT id, titel,
IF (
EXTRACT( YEAR_MONTH FROM startdate ) =200602, startdate,
IF (
EXTRACT( YEAR_MONTH FROM enddate ) =200602, enddate, TRUE
)
) AS datum
FROM deforel_kalender
WHERE (
EXTRACT(
YEAR_MONTH FROM startdate ) =200602
OR
EXTRACT(
YEAR_MONTH FROM enddate ) =200602
)
OR (
EXTRACT(
YEAR_MONTH FROM startdate ) <200602
AND
EXTRACT(
YEAR_MONTH FROM enddate ) >200602
)
LIMIT 0 , 30 |
De ene keer is in het resultaat de datum de einddatum, de andere keer dus de startdatum en anders is die 1. (vind dus in de hele maand plaats). ik heb lang lopen spelen in na lang prutsen ben ik tot de volgende query gekomen. Dit moet toch veel beter kunnen?.
Nu zitten hier veel dezelfde items in en weet ik wel zeker dat dit geen nette manier is. dit moet makkelijker kunnen, heeft iemand hier een idee over.
[ Voor 4% gewijzigd door Verwijderd op 07-04-2006 15:42 ]