Abfrage bereitet Probleme...
Daniel
- php
0 wahsaga0 Daniel
0 Tobias Kloth0 Jeena Paradies
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
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
hmm finde auf der site irgendwie net das richtige
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
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