Hét vraag- en antwoordplatform van Nederland

Weet iemand een simpel script om de komende 10 verjaardagen te laten zien?

ik heb een mysql database met geboortedatum: yyyy-mm-dd

Toegevoegd na 32 minuten:
ik heb een database met meerdere mensen erin staan. Daar staat dus: geboorte datum: yyy-mm-dd en dan wil ik laten zien op de website welke mensen de komenende tijd jarig zijn.

Verwijderde gebruiker
13 jaar geleden
954
Verwijderde gebruiker
13 jaar geleden
Hoezo voor 10 jaar? Je hebt er aan 1 toch genoeg???

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Antwoorden (1)

Probeer dit eens:

SELECT naam, geboortedatum FROM `database` ORDER BY MOD(DATEDIFF(NOW(), geboortedatum))-365, 365) DESC LIMIT 10

Toegevoegd na 1 dag:
In de vorige zat een haakje teveel, die -365 mocht wel weg en 365.25 voorkomt dat oudere mensen gaan schuiven...:

SELECT naam, geboortedatum FROM `database` ORDER BY MOD(DATEDIFF(NOW(), geboortedatum), 365.25) DESC LIMIT 10

Toegevoegd na 1 dag:
Of, als je de geboortedatum mooi wilt:

ELECT naam, DATE_FORMAT(geboortedatum, '%d %M') FROM `database` ORDER BY MOD(DATEDIFF(NOW(), geboortedatum), 365.25) DESC LIMIT 10

Toegevoegd na 1 dag:
ELECT moet uiteraard SELECT zijn....
(Lees meer...)
rose
13 jaar geleden
Verwijderde gebruiker
13 jaar geleden
werkt niet, hij geeft een foutmelding..
rose
13 jaar geleden
En wat meld 'hij' dan?
Cryofiel
13 jaar geleden
Ik begrijp je berekening niet. In je 'select' staat nu: MOD(x-y, y) .
Dat is toch - wiskundig gezien - identiek aan MOD(x, y) ?
Cryofiel
13 jaar geleden
Ik zie dat James CURDATE() gebruikt in plaats van NOW() .
rose
13 jaar geleden
MOD(x-y, y) = MOD(x, y) TENZIJ x
rose
13 jaar geleden
Maar het kan hier maar beter worden weggelaten...
Verwijderde gebruiker
13 jaar geleden
Je query geeft een syntax error, omdat het aantal geopende haakjes niet overeenkomt met het aantal gesloten haakjes. Heb je deze query wel getest? Bovendien heeft niet elk jaar 365 dagen. Werkt deze query wel in schrikkeljaren?
rose
13 jaar geleden
Curdate geeft in mijn geval hetzelfde resultaat. James telt overigens alleen de verjaardagen die DIT JAAR nog komen....
rose
13 jaar geleden
James, heb ik al aangepast en nee, was niet getest, nu wel...
Cryofiel
13 jaar geleden
Ik vergeet altijd wat MOD() doet bij negatieve getallen.... Ik zie dat James' antwoord weg is.

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 2500
Gekozen afbeelding