|  | 		    
					
        
         
          
         
	
          | |  | 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 |  |  | 
 |  |