Daniel: Abfrage bereitet Probleme...

Hi leute,

hab nen problem und zwar:

ich habe in meiner DB Geburtstagsdaten in diesem format gespeichert:

1987-04-16

nun will ich auf der nickpage der einzelnen user ne abfrage stellen die anzeigt ob der user B'day hat oder net!

$heute   = date("d.m.Y");

if($user_birth == $heute)
{

echo "gf";

}

so habe ich das zuerst gemacht aber gar net an das jahr gedacht!

also müste ich ja $heute   = date("d.m"); schreiben! aber dazu muss $user_birth auch in diesem format sein!

wie bekomme ich das hin das aus:

1987-04-16

04.16 wird?

evt. mit replace, aber ist es möglich die ersten 4 zeichen nur zu streichen, kann man der funktion das sagen?

mfg dani

  1. hi,

    ich habe in meiner DB Geburtstagsdaten in diesem format gespeichert:

    1987-04-16

    welcehn spaltentyp hast du gewählt?

    nun will ich auf der nickpage der einzelnen user ne abfrage stellen die anzeigt ob der user B'day hat oder net!

    $heute   = date("d.m.Y");

    dir fällt aber schon auf, dass das obige format eher andersherum aufgebaut ist ...?

    so habe ich das zuerst gemacht aber gar net an das jahr gedacht!

    also müste ich ja $heute   = date("d.m"); schreiben! aber dazu muss $user_birth auch in diesem format sein!

    wie bekomme ich das hin das aus:

    1987-04-16

    04.16 wird?

    in dem du dir die funktionen deines DBMS anschaust.
    mysql beispielsweise eine ganze reiche an nützlichen datums- und zeitfunktionen. (insb. DATE_FORMAT könnte in diesem falle einen genaueren blick wert sein.)

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. hmm finde auf der site irgendwie net das richtige

  2. Hallo Daniel,

    ich habe in meiner DB

    welches DBMS? MySql? (ich gehe jetzt mal davon aus, dass es so ist, wenn du ein anderes DBMS verwendest, dürfte es die Funktionen so ähnlich auch geben)

    Geburtstagsdaten in diesem format gespeichert:
    1987-04-16

    mit DATE als Spaltenformat, oder?

    nun will ich auf der nickpage der einzelnen user ne abfrage stellen die anzeigt ob der user B'day hat oder net!
    $heute   = date("d.m.Y");

    Ich würde die Abfrage gleich die Datenbank machen lassen. Mit DATE_FORMAT() kannst du das Datum formatieren und mit NOW() kommst du an das aktuelle Datum. Dieser Query:
      SELECT username FROM tabelle WHERE DATE_FORMAT(geburtsdatumsspalte,'%d.%m') = DATE_FORMAT(NOW(),'%d.%m')
    gibt dir die User die heute Geburtstag haben aus.

    Grüße aus Nürnberg
    Tobias

  3. Hallo,

    wie bekomme ich das hin das aus:
    1987-04-16
    04.16 wird?

    Also ich würde das erst einmal auseinandernehmen und dann die sachen die du brauchst wieder zusammensetzen.

    list($year, $month, $day) = explode("-", $date);
    $newdate = $month.".".$day;

    müsste eigentlich funktionieren wenn ich die Funktionen verstehe ;)

    Grüße
    Jeena Paradies

    --
    Räumungsverkauf alles muss raus
    --
    Für das Leben gezeichnet - der zweite Weltkrieg aus der eigenen Perspektive
    Einer der letzten Tagebucheinträge meines Großvaters, der den zweiten Weltkrieg am eigenen Leib erfahren hat.