22. januar 2003 - 20:04Der er
6 kommentarer og 1 løsning
Finde de næste fem fødselsdage...
Hej alle derude,
jeg er noget af en novice til PHP/MySQL, så jeg har lige brug for lidt hjælp: Jeg har en MySQL-database med flg. 2 felter:
* person - VARCHAR(50) * dato - DATE
denne indeholder en bunke personer med deres tilhørende fødselsdatoer, f.eks. "Columbus" med tilhørende fødselsdato 1492-12-10...
Jeg har brug for en SELECT-sætning, der giver mig de næste fem fødseldage fra idag. Og måske også en sætning, der giver mig alle fødselsdage f.eks. 30 dage frem.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Tak for kommentaren jelzin101, men du er vist på vildspor - eller også er det mig der ikke har forklaret situationen grundigt nok:
Jeg ønsker at finde de næste fem fødselsdage fra dagen idag.
Altså idag er det den 22. januar 2003... De næste fem fødselsdage kunne være f.eks. 25/1/1982, 28/1/1925, 3/2/1947, 10/2/1950, 20/2/1990...
Altså: de næste fem fødselsdatoer, uafhængig af hvilket år de er i - men der skal tages højde for nytår, sådan så de næste fem fødselsdage efter 31/1/2002 er nogle dage der ligger i januar...
select id, navn, dato, IF ( DAYOFYEAR(NOW()) < DAYOFYEAR(DATO) , DAYOFYEAR(DATO) - DAYOFYEAR(NOW()), 365 - DAYOFYEAR(NOW()) + DAYOFYEAR(DATO) ) AS DAGETILDAG from fodselsdage order by DAGETILDAG LIMIT 5;
Men den er nok ikke god at køre på en database med 300.000 fødselsdage, og der vil også være lidt problemer med skudår, specielt hvis fødselsdagen er den 29/2.
Hvordan skal 29/2 håndteres? Skal den først tælles med næste gang den dukker op? Eller skal man fejre den på den 28/2?
Den tager højde for om personen tilfældigvis er født på eller efter 29/2 i et skudår. Personer født 29/2 kommer ud efter dem født d. 28/2 og før dem født 1/3.
(Nå ja, jeg blev lige grebet af opgaven.. Er det til et kursus? ;-) )
Så gør jeg lige tråden færdig - tak for hjælpen - du fortjener pointene :-D
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.