Tim: Text in einem festen Zeitraum anzeigen lassen

Hallo,

ich möchte einen Text z.B. "Hallo Welt" für einen bestimmten Zeitraum, also z.B. "ZEITRAUM 1" vom 12.01.2006 bis 15.03.2006 anzeigen lassen. Dabei soll nach dem dem 12.01.2006, also am nachfolgenden Tag den 13.01.2006 ein anderer Text "Hallo Erdbewohner" im ZEITRAUM 2" bis zum 14.05.2006 ausgegeben werden. Wie kann man das per PHP realisieren? Kann ich hierbei auch dem Befehl "switch" bei der Umstellung von "ZEITRAUM 1" zu "ZEITRAUM 2"... nutzen?

Grüße
Tim

  1. Hallo Tim,

    bestimme den "timestamp" von den Daten 12.01.2006 ($a) und 15.03.2006 ($b), dann wird bei jedem Aufrunf mit time() die aktuelle Zeit mit $a und $b verglichen:

      
    /*  
    $a=0;  
    $b=0;  
    [link:http://de3.php.net/manual/de/ref.datetime.php]  
    selber nachschlagen ;)  
    */  
    $c=time();  
    echo ($a<$c && $c<$b) ? "Hallo Welt" : "";  
      
    
    

    Gruß aus Berlin!
    eddi

    1. Hallo eddi,

      suppi klappt auf Anhieb, vielen Dank für den TIP!

      Grüße
      Tim

      Hier der fertige Codeschnipsel:

      <?php

      $a = strtotime ("2005-12-01");
      $b = strtotime ("2006-01-31");
      $c=time();
      echo ($a<$c && $c<$b) ? "Hallo Welt" : "";

      $a = strtotime ("2006-02-01");
      $b = strtotime ("2006-12-31");
      $c=time();
      echo ($a<$c && $c<$b) ? "Hallo Erdbewohner" : "";

      ?>

      Hallo Tim,

      bestimme den "timestamp" von den Daten 12.01.2006 ($a) und 15.03.2006 ($b), dann wird bei jedem Aufrunf mit time() die aktuelle Zeit mit $a und $b verglichen:

      /*
      $a=0;
      $b=0;
      [link:http://de3.php.net/manual/de/ref.datetime.php]
      selber nachschlagen ;)
      */
      $c=time();
      echo ($a<$c && $c<$b) ? "Hallo Welt" : "";

      
      >   
      >   
      > Gruß aus Berlin!  
      > eddi  
      >  
      
  2. echo $begrüßung;

    ich möchte einen Text [...] für einen bestimmten Zeitraum, also z.B. "ZEITRAUM 1" [...] anzeigen lassen. Dabei soll [...] ein anderer Text [...] im "ZEITRAUM 2" [...] ausgegeben werden. Wie kann man das per PHP realisieren? Kann ich hierbei auch dem Befehl "switch" bei der Umstellung von "ZEITRAUM 1" zu "ZEITRAUM 2"... nutzen?

    Können kann man schon, nur wurde das switch-Statement nicht für Bereiche erfunden, sondern für Vergleiche eines Ausdrucks mit verschiedenen Einzelwerten.

    switch (true)
      case (time() >= mktime(start_zeitraum1)) and (time() < mktime(ende_zeitraum1):
        ...
        break;
      case (time() >= mktime(start_zeitraum2)) and (time() < mktime(ende_zeitraum2):
        ...
        break;
      default:
        ...
    }

    Da diese Schreibweise aber recht unüblich ist und keine großen Vorteile gegenüber einem if-else-Konstrukt bietet, würde ich ein if-else-Konstrukt nehmen.

    echo "$verabschiedung $name";

    P.S. Anstatt start_zeitraum1 etc. sind die Werte gemäß der mktime()-Funktionsbeschreibung zu verwenden.