login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Seizoen probleem (Opgelost)

Offline Meulenhof - 22/08/2008 15:45 (laatste wijziging 22/08/2008 15:46)
Avatar van MeulenhofLid Nu wil ik per seizoen een header weergeven, mocht ik ooit geen tijd hebben dan past hij dat dus automatisch aan. Hiervoor heb ik een php datum systeem gemaakt, alleen hij werkt niet goed.

Op dit moment geeft hij Herfst weer want het moet Zomer zijn (de datum kloppen)

Dit is mijn code, iets is er fout maar wat?
  1. // Lente
  2. if("20-03" >= date("d-m") && "20-06" <= date("d-m"))
  3. {
  4. $tpl->assignglobal('HEADER', 'Lente');
  5. }
  6. // Zomer
  7. if("21-06" >= date("d-m") && "21-09" <= date("d-m"))
  8. {
  9. $tpl->assignglobal('HEADER', 'Zomer');
  10. }
  11. // Herfst
  12. if("22-09" >= date("d-m") && "20-12" <= date("d-m"))
  13. {
  14. $tpl->assignglobal('HEADER', 'Herfst');
  15. }
  16. // Winter
  17. if("21-12" >= date("d-m") && "19-03" <= date("d-m"))
  18. {
  19. $tpl->assignglobal('HEADER', 'Winter');
  20. }


Mijn dank zal groot zijn.

Datum van de server klopt 22-08
Als ik er nu 2008 bij typ, maakt niet uit blijf het probleem houden.

5 antwoorden

Gesponsorde links
Offline jc2 - 22/08/2008 15:51 (laatste wijziging 22/08/2008 15:52)
Avatar van jc2 PHP interesse Probeer het eens zo:
  1. // timestamp maken: mktime(uur,minuut,seconde,maand,dag,jaar)
  2. $lente_start=mktime(0,0,0,03,20,date("Y"));
  3. $lente_end=mktime(0,0,0,06,20,date("Y"));
  4.  
  5. // Lente
  6. if($lente_start >= time() && $lente_end <= time())
  7. {
  8. $tpl->assignglobal('HEADER', 'Lente');
  9. }
  10.  
  11. // enz. voor zomer, herfst & winter
Offline Meulenhof - 22/08/2008 16:07
Avatar van Meulenhof Lid
jc2 schreef:
Probeer het eens zo:
[..code..]

Getest, helaas zelfde effect 
Offline Echron - 22/08/2008 22:31
Avatar van Echron Grafische interesse Dit werkt:
  1. $seizoen = 'Unknown';
  2. $maand = date('m');
  3. $dag = date('d');
  4. if ($maand > 1 && $maand <= 3) $seizoen = 'Winter';
  5. if ($maand == 3 && $dag > 19) $seizoen = 'Lente';
  6. if ($maand > 3 && $maand <= 6) $seizoen = 'Lente';
  7. if ($maand == 6 && $dag > 20) $seizoen = 'Zomer';
  8. if ($maand > 6 && $maand <= 9) $seizoen = 'Zomer';
  9. if ($maand == 9 && $dag > 21) $seizoen = 'Herfst';
  10. if ($maand > 9 && $maand <= 12) $seizoen = 'Herfst';
  11. if ($maand == 12 && $dag > 20) $seizoen = 'Winter';
  12. echo $seizoen;


Je kunt niet zomaar > of < gebruiken op een datum die je als string parst date('d-m'), dan zal hij dit zien als een string, niet als een datum.

Succes ermee!
Offline Meulenhof - 23/08/2008 18:35 (laatste wijziging 23/08/2008 18:48)
Avatar van Meulenhof Lid Nice, net getest en tot nu toe werkt het .

Mijn dank is groot 

Bij dagen heb ik wel = toegevoegd (vind ik zelf wat makkelijker te begrijpen)
Offline Echron - 23/08/2008 18:53
Avatar van Echron Grafische interesse Zorg er dan wel voor dat je de dagen aanpast...! Maar dit zul je wel weten natuurlijk 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.219s