Hallo!

Ik heb een leden systeem, en wil alle leden weergeven die deze week (vanaf zondag t/m zaterdag) jarig zijn..
Nu dacht ik slim te zijn en dit te doen:

SELECT * FROM `members` WHERE DATE_FORMAT(NOW(),'%V') = DATE_FORMAT(Gebdatum,'%V')


Maar dit werkt niet..
Want als ik dit doe:

SELECT DATE_FORMAT(NOW(),'%V') AS date1,  DATE_FORMAT(Gebdatum,'%V') AS date2 FROM `members`


krijg ik dit:


--------------------
| date1 |   date2 |
--------------------
|   14    |     13   |
---------------------


Iemand die me kan helpen?
Ok! nu wordt het duidelijk, had ze niet gezien...

Maar wat ik al zei, een verjaardag kan het ene jaar in een andere week vallen dan in het andere jaar. Het ligt er maar aan wanneer week 1 begint.
Robert schreef op 04.04.2007 15:25
CHECK ook mijn post even ajb
Dan zit ik met de jaartallen..

De query wordt dan zo:

SELECT * FROM members WHERE CustomerID=4 AND Gebdatum BETWEEN '2007-04-01' AND '2007-04-07' AND !Deleted ORDER BY Gebdatum

Maar als iemand dan in 1989 geboren is, is het 1989-04-03
Dan doe je het toch anders, en ga je met date_format vergelijken:

<?php
//pak weekdagnummer
$weekday=date('w');
$dagen_tot_zaterdag=6-$weekday;

$zondag = DATE('m-d',mktime(0, 0, 0, date('m'), date('d')-$weekday, date('Y')));
$zaterdag = DATE('m-d',mktime(0, 0, 0, date('m'), date('d')+$dagen_tot_zaterdag, date('Y')));

$query="SELECT id FROM members WHERE DATE_FORMAT('%m-%d',Gebdatum) BETWEEN '".$zondag."' AND '".$zaterdag."'";

?>

Dus zoiets, probeer ook zelf even mee te denken, uit eerdere posts leek mij dat je de date_format al kende. (had alleen ff niet aan jaartal gedacht)

[edit]
kan zijn dat dit niet werkt, en dat je de dag en maand apart moet vergelijken
[/edit]

Reageren