sina: Heutiges Datum + 21 Tage

Hallo zusammen

Ich habe das Geburtsdatum in einer Tabelle erfasst. Nun möchte ich alle auslesen, die heute und in den nächsten 21 Tagen Geburtstag haben.

Diejenigen, die heute haben, bekomme ich mit:

$today = date("d.m");
$result = mysql_query("SELECT * FROM addressmanager WHERE birthdate >= $today");

raus.

aber wie bekomme ich jene heraus, die in den nächsten 21 Tagen Geburtstag haben. Ich muss dort ja zum heutige Datum 21 Tage dazuzählen...

  1. Moin!

    $today = date("d.m");
    $result = mysql_query("SELECT * FROM addressmanager WHERE birthdate >= $today");

    raus.

    Nö. Da steht '>=' Es müsste da ein '=' stehen.

    aber wie bekomme ich jene heraus, die in den nächsten 21 Tagen Geburtstag haben. Ich muss dort ja zum heutige Datum 21 Tage dazuzählen...

    Um diese Frage beantworten zu können wäre es wünschenswert etwas über das Format der Spalte zu erfahren, in welcher das Datum steht....

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
    1. ja du hast recht.
      = müsste stehen. aber ich möchte nun so machen, dass kommt, >= heutiges datum and <= heutiges datum + 21 tage

  2. Ahoi sina,

    Ich muss dort ja zum heutige Datum 21 Tage dazuzählen...

    und da hilft es sich das hier anzusehen:
    http://de2.php.net/manual/de/ref.datetime.php
    im genaueren
    http://de2.php.net/manual/de/function.strtotime.php

    Und dann musst du nurnoch dein WHERE überarbeiten:
     WHERE birthdate >= '$today' AND birthdate <= '$day21'

    MfG

    --
    Alle Angaben wie immer ohne Gewähr
    LEISE IST SCHEISSE!
  3. Hiho,

    wenn du in die Datumsspalte in dem von mySQL angebotenen DATE Feld realisiert hast müsstest du hier fündig werden:

    MySQL Datumsfunktionen

    Hast du einfach nen timestamp gespeichert musst du mit PHP einfach nur 21 Tag zu dem Tiemstamp dazu zählen (21 Tag = 21 * 24 * 3600 Sekunden)

    Grüße

    Marc

    1. Moin!

      Hast du einfach nen timestamp gespeichert musst du mit PHP einfach nur 21 Tag zu dem Tiemstamp dazu zählen (21 Tag = 21 * 24 * 3600 Sekunden)

      Das geht schief, wenn die Sommerzeitumstellung in diesem Zeitraum liegt - zumindest könnte es schiefgehen, je nach Implementierung. Man kann schlicht nicht annehmen, ein Tag wäre immer 24 Stunden lang - genau einer im Jahr ist nur 23 Stunden lang, und ein anderer 25 Stunden.

      - Sven Rautenberg

      --
      My sssignature, my preciousssss!
      1. Moin!

        Man kann schlicht nicht annehmen, ein Tag wäre immer 24 Stunden lang - genau einer im Jahr ist nur 23 Stunden lang, und ein anderer 25 Stunden.

        Tage sind nicht unterschiedlich lang, sondern unterschiedlich breit...

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
  4. hi,

    Ich habe das Geburtsdatum in einer Tabelle erfasst.

    Tag, Monat und Jahr - oder wie?

    aber wie bekomme ich jene heraus, die in den nächsten 21 Tagen Geburtstag haben. Ich muss dort ja zum heutige Datum 21 Tage dazuzählen...

    Wenn du das komplette Geburtsdatum abgespeichert hast - dann bekämst du beim Abgleich mit heutiges_datum_plus_21_tage nur die heraus, die in den nächsten 21 Tagen _geboren_ werden.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }