[PHP] Bei bestimmtem Datum immer anderer Text

Dieses Thema im Forum "Webentwicklung" wurde erstellt von CM.punK, 25. März 2009 .

  1. 25. März 2009
    Bei bestimmtem Datum immer anderer Text

    HI,

    Ich weiss nicht genau wie ich den Titel nennen soll. Ich möchte folgendes haben:
    Ich hab eine Startseite wo es eine Ebene gibt. Der Text in dieser Ebene wird mittels include aus einer anderen Datei geholt.
    Nun möchte ich folgendes schaffen. Ich möchte dass der Text von sagen wir heute bis zum 29. März z.b. "Text 1" in der Startseite wiedergibt. Danach soll vom 30. März bis 6. April wieder ein anderer vorgegebener Text drin stehen. Und so weiter und so fort...

    Ich hoffe ihr versteht was ich meine! Ist ziemlich kompliziert zu erklären!

    lg cm
     
  2. 25. März 2009
    AW: Bei bestimmtem Datum immer anderer Text

    Ehmm was ist daran so kompliziert.. Sag doch einfach du willst jede Woche einen anderen Text anzeigen lassen -.-

    PHP:
    $week  date ( "W" );
    if(
    file_exists ( "messageoftheweek/"  $week  ".txt" ))
      include(
    "messageoftheweek/"  $week  ".txt" );
    Dann musst du einfach nur die Textdateien 1-52(.txt) im entsprechenden Verzeichnis ablegen und gut is...
     
  3. 25. März 2009
    AW: Bei bestimmtem Datum immer anderer Text

    Hi,

    hier sind Anregungen oder vllt auch genau was du suchst. Ansonsten musst du bisschen anpassen:

    Javascript:
    Datum Tagestipp - Tag des Monats 31 Texte JavaScript

    PHP:
    SELFHTML Forumsarchiv / 2006 / Mai / Datumsabhängige Ausgabe
     
  4. 25. März 2009
    AW: Bei bestimmtem Datum immer anderer Text

    Coksnuss hat eigentlich schon alles gesagt.

    date ist die PHP-Funktion, die du brauchst und mit verschiedenen Buchstaben modifizieren kannst.

    Du kannst es, wie Coksnuss es gepostet hat, mit den Wochen regeln, oder Tagen, etc.pp. - die richtigen Modifier findest du unter dem Link ( PHP: date - Manual )
     
  5. 25. März 2009
    AW: Bei bestimmtem Datum immer anderer Text

    Ich will aber eben nicht jede Woche einen anderen Text. Es geht darum dass zu einem bestimmten Datum ein bestimmter Text erscheint. Die Abstände sind verschieden und reichen von 2 Tagen bis 6,7,8 Tagen...

    Danke für die Links erstmal.
     
  6. 25. März 2009
    AW: Bei bestimmtem Datum immer anderer Text

    Wenn du mit verschiedenen Daten arbeiten willst, sind timestamp's eventuell besser, um mit ihnen zu arbeiten.

    Ich würde hier sogar mit einer MySQL-Datenbank arbeiten.

    PHP:
    <? php
    $aktuell 
    strtotime ( date ( "H:i:s, d.m.Y" ));  //erzeugt einen timestamp
    $query  "SELECT file_to_include FROM files_to_include WHERE beginit < " . $aktuell . " AND endit > " . $aktuell . " LIMIT 1" ;
    //... auslesen
    include ( $row [ 'file_to_include' ]);
    ?>
    Das würde eine MySQL-Tabelle erfordern, die 3 Felder besitzt
    Code:
    file_to_include VARCHAR (255) NOT NULL
    beginit INT (11) NOT NULL
    endit INT (11) NOT NULL
     
  7. 25. März 2009
    AW: Bei bestimmtem Datum immer anderer Text

    Warum so kompliziert?
    strtotime(date("H:i:s, d.m.Y")) entspricht doch time(), oder seh ich das falsch?
    Und bevor man hier PHP Funktionen verwendet sollte man auf MySQL zurückgreifen weil es einfach viel schneller ist.

    PHP:
    Vorher :
    $query  "SELECT file_to_include FROM files_to_include WHERE beginit < " . $aktuell . " AND endit > " . $aktuell . " LIMIT 1" ;

    Nacher :
    $query  "SELECT file_to_include FROM files_to_include WHERE beginit < UNIX_TIMESTAMP() AND endit > UNIX_TIMESTAMP() LIMIT 1" ;
    Aber alles in allem hast du natürlich Recht. Wenn du in unregelmäßigen Zeitabständen bestimmte Nachrichten anzeigen willst sollte man das mit einer Datenbank lösen.
     
  8. 25. März 2009
    AW: Bei bestimmtem Datum immer anderer Text

    Außerdem sollte man, sofern man keine Datenbank benutzt, besser $_SERVER['REQUEST_TIME'] nutzen, da die Variable sowieso gesetzt wird!


    Hier noch meine Lösung OHNE Datenbank:
    PHP:
    $today  $_SERVER [ 'REQUEST_TIME' ];
    $messages  = array(
                    array(
    mktime ( 0 , 0 , 0 , 3 , 25 , 2009 ), mktime ( 0 , 0 , 0 , 3 , 26 , 2009 ), 'Nachricht vom 25.03.2009 bis 26.03.2009!' ),
                    array(
    mktime ( 0 , 0 , 0 , 3 , 27 , 2009 ), mktime ( 0 , 0 , 0 , 3 , 31 , 2009 ), 'Nachricht vom 27.03.2009 bis 31.03.2009!' ),
                    array(
    mktime ( 0 , 0 , 0 , 4 , 1 , 2009 ), mktime ( 0 , 0 , 0 , 4 , 7 , 2009 ), 'Nachricht vom 01.04.2009 bis 07.04.2009!' ),
                    array(
    mktime ( 0 , 0 , 0 , 4 , 8 , 2009 ), mktime ( 0 , 0 , 0 , 4 , 10 , 2009 ), 'Nachricht vom 08.04.2009 bis 10.04.2009!' ),
                    );
            
    $count  sizeof ( $messages );        
    for(
    $a = 0 ; $a < $count ;++ $a )
        {
        if( 
    $today  >=  $messages [ $a ][ 0 ] &&  $today  <=  $messages [ $a ][ 1 ] )
            {
            
    $currentmessage  $messages [ $a ][ 2 ];
            break;
            }
        }
        
    echo 
    'Ausgabe:<br />' $currentmessage ;
     
  9. 25. März 2009
    AW: Bei bestimmtem Datum immer anderer Text

    Coksnuss, du hast Recht - ich habe mich verkünstelt bei der Variable =P

    @6000Loader:
    Ich habe auch an einen Array gedacht, aber wenn es zu viele verschiedene Versionen sein sollen, wird glaube ich eine Datenbankabfrage schneller sein, als der foreach.
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.