Zeitfunktion Anwendung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zeitfunktion Anwendung

    Hallo zusammen,

    ich bräuchte mal eure Ideen für die Umsetzung eines meiner Projekte. (hab gerade erst wieder mit php & mysql angefangen und deshalb gerade einge Fragen...)

    Ich will folgendes Umsetzen:
    Bei uns gibt es jeden Montag eine Interne Mail an alle Mitarbeiter die einen link zu einer Intranetseite enhält auf der wiederrum die aktuellen Infos dargestellt werden. Das ganze muss bis jetzt alles manuell per html gepflegt und zusammen gesetzt werden - ganz schön viel arbeit. Ich möchte das ganze nun in php und mysql "umwandeln" um es auch von Mitarbeitern pflegen lassen zu können, die nicht so viel Ahnung von html haben...

    Die Probleme:
    1. Ich muss zuerst ein mal auf der Startseite herausfinden was für ein Datum der letzte (freigegebene -> über ein Feld in der db...) Montag hat.

    Sprich so etwas.

    SELECT ueberschriften FROM data WHERE datum = $letzer_montag AND freigabe = 1

    Wie finde ich nun heraus was der letzte Montag für ein Datum hatte?

    2. Beim erstellen der neuen Daten über das Formular soll es möglich sein Beiträge für die nächsten 3 Montag zu verfassen -> diese Frage erübrigt sich aber vermutlich durch die Lösung von 1...

    Für einen Tipp, wie ich das umsetzen könnte wäre ich euch sehr dankbar! Kann auch sein, dass ich gerade auf dem Schlauch stehe.

    Gruß

  • #2
    guckst du:
    http://www.php-resource.de/forum/sho...g&pagenumber=1
    Kissolino.com

    Kommentar


    • #3
      ok, ich habe eine idee mal sehen was ihr davon haltet...

      ich ermittle die Nummer des akutellen Tages

      $daynumber = date(w);

      Dann Prüfe ich mit einer Switch Abfrage durch welcher der letzten 7 Tage wohl der Montag war und gebe dann dieses Datum zurück.

      Gibt es noch was besseres?

      Gruß

      P.S. eigentlich würde es mir auch reichen, wenn ich alle Datensätze erhalten werde die das aktuellste freigegebene Datum (immer nur eins z. b 9.02.04) enthalten. Hat dazu vielleicht jemand eine Idee?

      Kommentar


      • #4
        Gibt es noch was besseres?
        na aber sicher doch!

        SELECT ueberschriften FROM data WHERE datum < NOW() AND 2=DAYOFWEEK(datum) AND freigabe=1

        EDIT:
        Ich hab doch mal´n Denkfehler ... die obige Query holt Überschriften aus ALLEN vergangenen freigeschalteten Montage.
        Zuletzt geändert von Titus; 10.02.2004, 11:49.
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar


        • #5
          Hi,

          danke!

          das sieht doch auf jeden Fall schon mal viel besser aus als mein Gedanke!

          Vielen Dank!!!

          Kommentar


          • #6
            Original geschrieben von Titus
            na aber sicher doch!
            EDIT:
            Ich hab doch mal´n Denkfehler ... die obige Query holt Überschriften aus ALLEN vergangenen freigeschalteten Montage.
            oh stimmt. also doch switch abfrage... wäre auch zu schön gewesen

            Kommentar


            • #7
              Original geschrieben von Titus
              na aber sicher doch!

              SELECT ueberschriften FROM data WHERE datum < NOW() AND 2=DAYOFWEEK(datum) AND freigabe=1

              EDIT:
              Ich hab doch mal´n Denkfehler ... die obige Query holt Überschriften aus ALLEN vergangenen freigeschalteten Montage.
              habs glaub ich!

              gleiche Syntax + AND datum > $datum_minus_7

              so sollte es gehen... Jetzt muss ich das nur noch gescheit schreiben.

              Danke für den Ansatz!

              Kommentar


              • #8
                SELECT ueberschriften FROM data WHERE freigabe=1 AND
                TO_DAYS(datum) = TO_DAYS(now()) - DAYOFWEEK(now()) - if (DAYOFWEEK(now())<3, 5, -2)
                funzt auch, wenn heute Montag ist ... dann gibt´s den Montag letzter Woche.

                - DAYOFWEEK(now()) - if (DAYOFWEEK(now())<3, 5, -2)
                kann man natürlich auch in PHP lösen:
                if (($minus = date('w'))<2) $minus+= 6;
                mysql_query("SELECT ueberschriften FROM data WHERE freigabe=1 AND
                TO_DAYS(datum) = TO_DAYS(now()) - $minus");

                bei DAYOFWEEK die 3, da hier der Montag die 2 ist
                unter PHP ist Montag==1 (genau wie bei DATE_FORMAT('%w', now()))
                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar

                Lädt...
                X