login  Naam:   Wachtwoord: 
Registreer je!
 Forum

seizoen naar het scherm schrijven

Offline chth - 14/09/2009 19:20 (laatste wijziging 14/09/2009 19:22)
Avatar van chthLid hallo

ik ben nog maar net begonnen met php, maar ik heb een probleempje met het seizoen naar het scherm te schrijven

hier is mij code:
  1. <?php
  2. $maand = date("d-m");
  3. if ($maand <= date("21-3"))
  4. {
  5. $seizoen = "lente";
  6. }
  7. elseif ($maand <= date("21-6"))
  8. {
  9. $seizoen = "zomer";
  10. }
  11. elseif ($maand <= date ("21-9"))
  12. {
  13. $seizoen = "herfst";
  14. }
  15. elseif ($maand <= date("21-12"))
  16. {
  17. $seizoen = "winter";
  18. }
  19.  
  20. echo("<h3>Dat betekent dat het $seizoen is!</h3><br>\n");
  21. ?>

kan iemand mij helpen?


Marten schreef:
In het vervolg even de code tags gebruiken voor je code oke?

25 antwoorden

Gesponsorde links
Offline marten - 14/09/2009 19:23
Avatar van marten Beheerder Wat verwacht je op je scherm en wat krijg je op je scherm? Je stelt namelijk niet echt een probleemstelling
Offline chth - 14/09/2009 19:25
Avatar van chth Lid ik wil da het seizoen naar het scherm wordt geschreven, maar met deze code wordt er getoont dat het lente is
Offline marten - 14/09/2009 19:26
Avatar van marten Beheerder Je moet de functie strtotime gebruiken

PHP.net: strtotime
Offline chth - 14/09/2009 19:32
Avatar van chth Lid ok

bedankt maar ik zal wel nog een beetje moeten zoeken hoe deze functie werkt.
Offline marten - 14/09/2009 19:33
Avatar van marten Beheerder Daar leer je alleen maar van 
Offline chth - 14/09/2009 19:38 (laatste wijziging 15/09/2009 17:56)
Avatar van chth Lid ik heb nu ook nog even snel dit geprobeerd:

  1. <?php
  2. if(date("d-m") <= date("21-3"))
  3. {echo("winter");}
  4.  
  5. elseif (date("d-m") <= date("21-6"))
  6. {echo ("lente");}
  7.  
  8. elseif (date("d-m") <= date ("21-9"))
  9. {echo("zomer");}
  10.  
  11. elseif (date ("d-m") <= date("21-12"))
  12. {echo("herfst");}
  13. ?>


maar dan komt er op mijn scherm dat het WINTER is

Koen schreef:
Code tags!
Offline marten - 14/09/2009 19:41 (laatste wijziging 14/09/2009 19:41)
Avatar van marten Beheerder Heb je me melding gelezen in je start post? Even aan de regels houden oke?

  1. <?php
  2. if(date("d-m") <= strtotime("21-3"))
  3. {echo("winter");}
  4.  
  5. elseif (date("d-m") <= strtotime("21-6"))
  6. {echo ("lente");}
  7.  
  8. elseif (date("d-m") <= strtotime("21-9"))
  9. {echo("zomer");}
  10.  
  11. elseif (date ("d-m") <= strtotime("21-12"))
  12. {echo("herfst");}
  13. ?>


en zo?
Offline chth - 14/09/2009 19:44 (laatste wijziging 14/09/2009 20:13)
Avatar van chth Lid nee, er wordt nog steeds getoont dat het winter is, maar als ik de onderstaande code probeer dan wordt er getoont dat het herfst is :zoals het moet maar dan kloppen de data niet meer
  1. <?php
  2. $da = date("d-m");
  3. switch ($da)
  4. {
  5. case $da <= "21-3":
  6. $te = "herfst";
  7. break;
  8. case $da <= "21-6":
  9. $te = "winter";
  10. break;
  11. case $da <= "21-9":
  12. $te = "lente";
  13. break;
  14. case $da <= "21-12":
  15. $te = "zomer";
  16. default:
  17. $te = "momenteel niet beschikbaar";
  18. }
  19. echo(" het huidige seizoen is: $te<br>\n");
  20. <?
Offline Martijn - 14/09/2009 20:14
Avatar van Martijn Crew PHP en als je het andersom doen, eerst maand en dan jaar? dus
3-21,6-21,9-21,12-21

Amerikaanse tijden houden vaak dit format aan: yyyy mm dd
Offline chth - 14/09/2009 20:18
Avatar van chth Lid zo werkt het ook zoals in de code die ik gegeven heb maar als de datum kleiner is of gelijk aan de 21ste van de derde maand dan zou het winter moeten zijn i.p.v. herfst
Offline Martijn - 14/09/2009 20:22
Avatar van Martijn Crew PHP zet is boven je ifjes

echo date("21-3");
Offline chth - 14/09/2009 20:31 (laatste wijziging 14/09/2009 20:32)
Avatar van chth Lid heb ik zonet gedaan en er werdt getoond dat het lente is, maar hoe kan ik dan het huidige seizoen naar het scherm schrijven?
Offline StyxLabs - 15/09/2009 17:50
Avatar van StyxLabs Nieuw lid
  1. $maand = date(date("d-n", time()));

Beetje omslachtig, maar zo misschien? 
Offline chth - 15/09/2009 18:00
Avatar van chth Lid nee, als ik dit
  1. $maand = date(date("d-n", time()));
erbij plaats dan wordt er getoond dat het nu winter is en dat klopt niet.
Offline Abbas - 15/09/2009 20:09
Avatar van Abbas Gouden medaille

Crew .NET
Volgende code die ik heb gemaakt werkt volledig:

  1. <?php
  2.  
  3. //Zelf een datum maken om mee te testen
  4. $date = mktime(0, 0, 0, 12, 20, 2009);
  5. //Dag van het jaar ophalen
  6. $day = date("z", $date);
  7. //Kijken of het een schrikkeljaar is
  8. //Ja? $x = 1, anders $x = 0
  9. $x = date("L", $date);
  10.  
  11. //Controleren met if-statement en kijken welke dag het is
  12. //En het juiste wegsvhrijven.. :)
  13. if($day > 78 && $day < (171 + $x))
  14. echo "Lente";
  15. elseif($day > 170 && $day < (263 + $x))
  16. echo "Zomer";
  17. elseif($day > 262 && $day < (354 + $x))
  18. echo "Herfst";
  19. else
  20. echo "Winter";
  21.  
  22. ?>
Offline chth - 15/09/2009 20:24
Avatar van chth Lid beste

bedankt voor reactie, nu wordt er inderdaad getoond dat het herfst is.
maar moet ik eigenlijk nog iets wijzigen zodat de huidige datum wordt gekozen en niet de zelf aangemaakte datum?

Offline Raze - 15/09/2009 20:40
Avatar van Raze PHP beginner of gewoon via date("z") op dag v/h jaar kijken
Offline Abbas - 15/09/2009 20:53
Avatar van Abbas Gouden medaille

Crew .NET
@chth: maak dan van de eerste regel in m'n script het volgende:

  1. $date = mktime(0, 0, 0, date("n"), date("j"), date("Y"));

@Raze: kijk eens naar m'n script...
Offline Koen - 15/09/2009 20:58
Avatar van Koen PHP expert
titjes schreef:
@chth: maak dan van de eerste regel in m'n script het volgende:

[..code..]
@Raze: kijk eens naar m'n script...


Of gewoon PHP.net: time
Offline chth - 15/09/2009 21:12
Avatar van chth Lid bedankt voor de reacties, nu werkt het momenteel zoals het moet. 
Offline Raze - 15/09/2009 22:34
Avatar van Raze PHP beginner @titjes: enkel z is voldoende


  1. <?php
  2.  
  3. // Season of year script
  4.  
  5. // Copyright Kyle Stewart 2006
  6.  
  7. $season = date("z");
  8.  
  9. if ($season <= 164 and $season >= 70) {
  10. $m_season = "Spring";
  11. } else {
  12.  
  13. if ($season <= 295 and $season >= 165) {
  14. $m_season = "Summer";
  15. } else {
  16.  
  17. if ($season <= 327 and $season >= 296) {
  18. $m_season = "Autumn";
  19. } else {
  20.  
  21. $m_season = "Winter";
  22. }
  23. }
  24. }
  25.  
  26. // End of season of year
  27.  
  28. ?>


http://kylste.coolinc.info/
Offline Koen - 15/09/2009 22:39
Avatar van Koen PHP expert Wat is dat voor een belabberd script...
  1. <?php
  2. $season = date("z");
  3. if ($season <= 164 && $season >= 70)
  4. {
  5. $m_season = "Spring";
  6. } elseif ($season <= 295 && $season >= 165)
  7. {
  8. $m_season = "Summer";
  9. } elseif ($season <= 327 && $season >= 296)
  10. {
  11. $m_season = "Autumn";
  12. } else
  13. {
  14. $m_season = "Winter";
  15. }
  16. ?>
Offline Raze - 15/09/2009 22:47
Avatar van Raze PHP beginner belabberd script, dat wel, maar het toont wel aan dat enkel date("z") voldoende is.
Offline Abbas - 16/09/2009 01:45
Avatar van Abbas Gouden medaille

Crew .NET
Wtf kerel, ik ben geen PHP expert en mijn code werkt ook. Ik heb ze op tientallen zelf ingevoerde datums gecontroleerd en ik heb geen fout ontdekt. Die ene regel gaat het verschil niet echt maken...
Offline marten - 16/09/2009 10:58
Avatar van marten Beheerder
  1. function GetSeason() {
  2. $SeasonDates = array('/12/21'=>'Winter','/09/21'=>'Autumn','/06/21'=>'Summer','/03/21'=>'Spring','/12/31'=>'Winter');
  3. foreach ($SeasonDates AS $key => $value) {
  4. $SeasonDate = date("Y").$key;
  5. if (strtotime("now") > strtotime($SeasonDate)) {
  6. return $value;
  7. }
  8. }
  9. }
  10. echo GetSeason();


@http://www.geekpedia.com/code152_Get-The-Current-Season.html
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.311s