OracleFan Geschrieben 4. September 2004 Geschrieben 4. September 2004 Hallo Zusammen, ich zermatere mir gerade den Kopf um folgenden Problembeschreibung in PHP umzusetzten, aber irgendwie hab ich nen blackout und komm auf keine Idee wie ich das schnell umsetzten könnte. Vielleicht könnte mir nen Anstoß geben oder evtl. bereits eine bekannte Lösung sagen. Wäre euch sehr dankbar. Unr hier die Problemstellung: Ich habe folgenden Input: Startdatum [dd.mm.yyyy] Enddatum [dd.mm.yyyy} Wochentage Mo [ ] Di [ ] Mi [ ] Do [ ] Fr [ ] Sa [ ] So [ ] Also man gibt Start und Enddatum ein sowie die Wochentage, die man Wünscht. Als ergebnis bräucht ich dann alle Daten zwischen Start und Enddatum deren Wochentage angekreuzt waren. Beispiel: Start: 01.09.04 End: 12.09.04 Wochentage: Mo, Mi, Fr Ergebnis: 01.09.04 03.09.04 06.09.04 08.09.04 10.09.04 Vielleicht könnt ihr mir auf die Sprünge helfen. Wäre euch dankbar. Grüße OracleFAN
kills Geschrieben 6. September 2004 Geschrieben 6. September 2004 hm ich würde aus beiden "Daten" einen Timestamp errechenen und damit schon mal dein Datum eingrenzen. Den rest mit den wochentagen würde ich dann mit der Funktion date und dem format "w" erledigen. siehe: http://de2.php.net/manual/en/function.date.php
OracleFan Geschrieben 7. September 2004 Autor Geschrieben 7. September 2004 Hi, danke für deine Antwort. Allerdings habe ich nicht so ganz verstanden wie du das meinst. Timestamp? Und wie hilft mir die Funktion date mit option w weiter. Kannst du mir das vielleicht an einem Codeschnipsel erklären? Danke OracleFAN
*I C Q* Geschrieben 7. September 2004 Geschrieben 7. September 2004 Timestamp? Der Unix-Timestamp kennzeichnet die Anzahl der Sekunden die seit dem 13.12.1901 20:45:54 GMT vergangen sind. Du kannst ein bestehendes Datum mit diversen PHP-Funktionen in einen Timestamp verwandeln, in Deinem Fall würde ich das Datum zerlegen und per mktime in den Timestamp unwandeln. Dann baust Du eine Schleife der Form //Achtung: Ungetesteter Aus-der-hohlen-Hand-Code for ($aktdatum = $ts_startdatum; $aktdatum <= $ts_enddatum; $aktdatum += 86400) // Ein Tag hat 86400 Sekunden { if (isset($_POST["wochentag".date("w",$aktdatum)])) { echo (date("d.m.Y",$aktdatum)."<br>"); } } [/php] Dafür müssen dann Deine Wochentags-Checkboxen als <input name="wochentag0"...> definiert sein. Müsste so oder so ähnlich eigentlich funktionieren! HTH, ICQ
OracleFan Geschrieben 9. September 2004 Autor Geschrieben 9. September 2004 Hey ICQ ich habe deinen Vorschlag gerade getestet und es hat wunderbar geklappt! Danke für deine Hilfe. Hast mir viel Arbeit erspart, denn ich haben an ganz seltsamen konstrukten gebaselt die alle total bescheuert sind, nachdem ich deinen Vorschlag gesehen habe!!! Danke nochmal Grüße OracleFAN
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden