22. april 2005 - 20:59
Der er
12 kommentarer og 2 løsninger
funktion beregne hvem der fylder 25 næste gang?
Hej Er der nogle der kan hjælpe med at lave en funktion, som kan beregne hvem der fylder 25 næste gang? Jeg har fødselsdage i mysql som: 1980-6-24 Mvh. Kappel
Annonceindlæg fra Computerworld
22. april 2005 - 22:17
#1
Prøv at forklare dit spørgsmål lidt bedre.
22. april 2005 - 22:34
#2
jeg vil lave en liste over hvem der næste gang fylder 25 år (kanel) og skrive det ud, f.eks. sådan her: hvem fylder 25 år næste gang? 1 Michael den 24 maj 2005 2 Morten den 29 maj 2005 osv. /Kappel
22. april 2005 - 22:35
#3
håber det forklare det lidt bedre ellers må du sige til.
23. april 2005 - 00:46
#4
Hej! Nu ved jeg ikke så meget om hvordan din database er osv. Eller hvordan du gemmer den fødselsdag. Men i princippet kan du gøre det på mange måder. Den nemmeste måde mener jeg selv er, at regne ud hvad årstallet er efter 25 år. Dvs. fx. 1980-6-24 + 25år = 2005-6-24. Dernæst skal du så lave en sortering efter den laveste dato. Dette kan gøres SQL med ORDER BY laveste dato eller med variable sort-funktionen.
23. april 2005 - 01:40
#5
$sql = "SELECT * FROM dintabel WHERE birthday > '" . date( 'Y-m-d' ) . "' LIMIT 1";
23. april 2005 - 01:40
#6
Sorry: $sql = "SELECT * FROM dintabel WHERE birthday > '" . date( 'Y-m-d' ) . "' ORDER BY birthday LIMIT 1";
23. april 2005 - 01:41
#7
Ja ok hvis det er en liste så drop LIMIT, eller sæt den til så mange du vil have ud ;)
23. april 2005 - 10:39
#8
jeg har følgende, men der bliver ikke skrevet noget ud: $foresp = mysql_query("SELECT * FROM spillere WHERE fodselsdato > '" . date( 'Y-m-d' ) . "' ORDER BY fodselsdato LIMIT 5") or die (mysql_error()); echo "<table width=\"100%\"> <tr> <td><p><strong>Navn:</strong></p></td> <td><p><strong>Dato:</strong></p></td> </tr> "; $i = 0; while ($row = mysql_fetch_array($foresp)) { $i++; echo " <tr> <td style='padding: 0px 5px 0px 5px;'><p><a href='index.php?menu=spiller&id=".$row['id']."'>".$row['navn_id']." ".$row['efternavn']."</p></td> <td style='padding: 0px 5px 0px 5px;'><p>".$row['fodselsdato']."</p></td> </tr>"; } echo "</table>"; ?>
23. april 2005 - 17:18
#9
Fordi du ikke har defineret date. Jeg tror at coderdk hentyede til min beskrevet metode.
23. april 2005 - 20:41
#10
Jeg tror jeg må ha' haft en hjerneblødning da jeg skrev det, for jeg manglede da noget! Prøv lige med: $sql = "SELECT * FROM dintabel WHERE birthday > '" . date( 'Y-m-d', strtotime( '+25 years' ) ) . "' ORDER BY birthday LIMIT 5";
23. april 2005 - 20:41
#11
Ok, dér blev + til -... Sådan: $sql = "SELECT * FROM dintabel WHERE birthday > '" . date( 'Y-m-d', strtotime( '-25 years' ) ) . "' ORDER BY birthday LIMIT 5";
23. april 2005 - 20:42
#12
hahaha ok, nu holder den snart ikke længere, så snart jeg poster noget, ser jeg noget forkert, > burde nok være < for at finde de rigtige: $sql = "SELECT * FROM dintabel WHERE birthday < '" . date( 'Y-m-d', strtotime( '+25 years' ) ) . "' ORDER BY birthday LIMIT 5";
23. april 2005 - 20:47
#13
Synes også at jeg tillader mig at lave et svar, da jeg beskrev den metode at gøre det på :D coderdk > I dit eksempel der udtrækker den da alle de yngste ud? Dvs. alle er vel yngre end den dato hvor de fylder 25 år? :)
23. april 2005 - 20:52
#14
labisama, du beskrev nu ikke den måde jeg har løst det på, den sidst af dem skulle gerne fange dem der bliver 25 år næste gang (og ældre) :) Min metode trækker bare 25 år fra d.d. og ser hvem der har en fødselsdato før det...
Vi tilbyder markedets bedste kurser inden for webudvikling