#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 + Multi-Zitat Zitieren
#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... + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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 ) + Multi-Zitat Zitieren
#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. + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren
#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. + Multi-Zitat Zitieren
#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 ; + Multi-Zitat Zitieren
#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. + Multi-Zitat Zitieren