jede zweiten wochentag im monat

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

  • jede zweiten wochentag im monat

    Hallo,

    ich wollte mir grad ein cron aufsetzen der jeden samstag gestartet wird. beim ausführen soll er eine reminder funktion ausführen die abwechseln emails an verschiedene empfänger schickt. also 1 samstag im monat -> empfänger a, 2 samstag im monat -> empfänger b, 3 samstag im monat -> empfänger a, letzter samstag -> empfänger b.

    hatt jemand einen tip wie ich diesen wechsel am besten abfragen kann? ok ich könnt irgendwo eine wert speichern (db) aber ich wills am besten nur mit den php date funktionen machen.

    Fra*

  • #2
    PHP-Code:
    $accounts = array(
        
    'foo@example.com',
        
    'bar@example.com',
        
    'baz@example.com',
        
    'bla@example.com',
    );

    $mail_to $accounts[(ceil(date('d') / 7) - 1) % count($accounts)]; 
    date('d') liefert den Tag, Division durch 7 bestimmt die Woche, Subtraktion von 1 kompensiert die Null-Indizierung des Arrays und das modulo mit der Anzahl der Arrayelemente sorgt dafür, dass in der 5. Woche wieder der erste Arrayeintrag dran ist.

    Dieser Schnipsel funktioniert an jedem Wochentag und du kannst auch noch einen 5. Account einfügen.

    Damit kannst du dich überzeugen, dass es hinhaut:
    PHP-Code:
    for ($i 1$i<32$i++) {
        echo 
    $i.' '.$accounts[(ceil($i 7) - 1) % count($accounts)].'<br>';

    Schaltjahre spielen keine Rolle, weil date() die schon berücksichtigt.
    Zuletzt geändert von onemorenerd; 13.01.2008, 16:31.

    Kommentar


    • #3
      Und wo ist das Problem?

      mittels date() kannst du zum einen herausfinden, ob der aktuelle Tag ein Samstag ist (ansonsten ggf. abbrechen). Außerdem lässt sich damit auch der Tag im Monat herausfinden. 1-7 = 1. Samstag, 8-14 = 2. Samstag usw.

      Eigentlich nicht so schwer, wenn man die grauen Zellen mal angeschmissen hat.
      ICH BIN ICH!!!

      Kommentar


      • #4
        ihr habt ja recht ... is ja im prinzip einfach! die variante von onemorenerd ist natürlich oberelegant

        Kommentar

        Lädt...
        X