|
| Fødselsdag, 5 frem og 3 tilbage Fra : Søren Follmann |
Dato : 08-10-06 00:08 |
|
Hvordan laver jeg en sql udtræk som giver mig fødselsdage med
måneder og dage, og springer over år, når jeg har fødselsdagen
som unix tid.
Den må gerne kunne tage 3 poster tilbage i forhold til time() og
5 frem, eller sådan noget.
Altså jeg har to rækker i tabellen, name og birtday, hvor
birthday er unix timecode for fødsels år og dag. hvad skal sql
syntaksen være?
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Martin (08-10-2006)
| Kommentar Fra : Martin |
Dato : 08-10-06 07:04 |
|
Søren Follmann wrote:
> Hvordan laver jeg en sql udtræk som giver mig fødselsdage med
> måneder og dage, og springer over år, når jeg har fødselsdagen
> som unix tid.
>
> Den må gerne kunne tage 3 poster tilbage i forhold til time() og
> 5 frem, eller sådan noget.
> Altså jeg har to rækker i tabellen, name og birtday, hvor
> birthday er unix timecode for fødsels år og dag. hvad skal sql
> syntaksen være?
>
Hvis du vil have den som ren sql udtræk, så spørg i database gruppen :)
Hvis du vil have det som PHP, så ka du få det her :)
| |
Søren Follmann (08-10-2006)
| Kommentar Fra : Søren Follmann |
Dato : 08-10-06 10:35 |
|
Martin wrote in dk.edb.internet.webdesign.serverside.php:
> Søren Follmann wrote:
> > Hvordan laver jeg en sql udtræk som giver mig fødselsdage med
> > måneder og dage, og springer over år, når jeg har fødselsdagen
> > som unix tid.
> >
> > Den må gerne kunne tage 3 poster tilbage i forhold til time() og
> > 5 frem, eller sådan noget.
> > Altså jeg har to rækker i tabellen, name og birtday, hvor
> > birthday er unix timecode for fødsels år og dag. hvad skal sql
> > syntaksen være?
> >
>
> Hvis du vil have den som ren sql udtræk, så spørg i database gruppen :)
>
> Hvis du vil have det som PHP, så ka du få det her :)
Jeg vil gerne have det som PHP
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Søren Follmann (08-10-2006)
| Kommentar Fra : Søren Follmann |
Dato : 08-10-06 10:36 |
|
Martin wrote in dk.edb.internet.webdesign.serverside.php:
> Søren Follmann wrote:
> > Hvordan laver jeg en sql udtræk som giver mig fødselsdage med
> > måneder og dage, og springer over år, når jeg har fødselsdagen
> > som unix tid.
> >
> > Den må gerne kunne tage 3 poster tilbage i forhold til time() og
> > 5 frem, eller sådan noget.
> > Altså jeg har to rækker i tabellen, name og birtday, hvor
> > birthday er unix timecode for fødsels år og dag. hvad skal sql
> > syntaksen være?
> >
>
> Hvis du vil have den som ren sql udtræk, så spørg i database gruppen :)
>
> Hvis du vil have det som PHP, så ka du få det her :)
Jeg vil gerne have det som PHP
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Kasper Johansen (08-10-2006)
| Kommentar Fra : Kasper Johansen |
Dato : 08-10-06 13:22 |
|
Søren Follmann skrev:
> Den må gerne kunne tage 3 poster tilbage i forhold til time() og
> 5 frem, eller sådan noget.
> Altså jeg har to rækker i tabellen, name og birtday, hvor
> birthday er unix timecode for fødsels år og dag. hvad skal sql
> syntaksen være?
SQL:
SELECT * FROM brugere WHERE FROM_UNIXTIME(birthday, '%d %m') =
FROM_UNIXTIME('$timestamp', '%d %m')
PHP:
while($d_gf = mysql_fetch_assoc($foresp)){
if (date("d m", $d_gf[birthday]) == date("d m", $timestamp)){
print_r($d_gf);
}
}
Det er meget hurtigere at bruge SQL-implementationen. Teori omkring
hvorfor kan diskuteres i database-gruppen, hvortil dit spørgsmål også
burde stilles i første omgang (jeg tænker på sætningen: "hvad skal sql
syntaksen være?").
Du kan læse mere om dato- og tidsformater her på MySQL's egen hjemmeside:
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html
--
Med venlig hilsen
Kasper Johansen
| |
Søren Follmann (30-08-2007)
| Kommentar Fra : Søren Follmann |
Dato : 30-08-07 13:09 |
|
$timestamp = time();
$foresp = mysql_query("SELECT id, navn, foedselsdag FROM imubrugere
ORDER BY FROM_UNIXTIME(foedselsdag, '%m %d')") or die(mysql_error());
while($data2 = mysql_fetch_assoc($foresp)){
if (date("m d", $data2[foedselsdag]) > date("m d", $timestamp-(7*24*60*60))
&& date("m d", $data2[foedselsdag]) < date("m d", $timestamp)) {
print date("m-d", $data2[foedselsdag]) ;
print " - ";
print $data2[navn];
print " for ";
print date("d m", $timestamp) - date("d m", $data2[foedselsdag]);
print " dage siden!<br>";
}
if (date("d m", $data2[foedselsdag]) == date("d m", $timestamp)){
print date("m-d", $data2[foedselsdag]) ;
print " - ";
print $data2[navn];
print " i dag!<br>";
}
if (date("m d", $data2[foedselsdag]) < date("m d", $timestamp+(7*24*60*60))
&& date("m d", $data2[foedselsdag]) > date("m d", $timestamp)){
print date("m-d ", $data2[foedselsdag]) ;
print $data2[navn];
print " om ";
print date("d m", $data2[foedselsdag]) - date("d m", $timestamp);
print " dage!<br>";
}
}
Jeg er der næsten, men jeg kan ikke få den til at finde ud af at regne med
datoer på tværs af måneder. Hvad gør jeg?
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
|
|