Wie Datum aus DB auslesen und weiter rechnen (ohne YYYY)?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
TLoD
Mitglied
Beiträge: 161
Registriert: 04.08.2007 14:57
Wohnort: Nürnberg
Kontaktdaten:

Wie Datum aus DB auslesen und weiter rechnen (ohne YYYY)?

Beitrag von TLoD »

Hallo Gemeinde,

was muss ich anstellen, wenn ich ein Datum aus meiner DB auslesen will (ist ein DATE-Feld) und das aber auf den Tag und Monat beschränken will?
Ich habe z.B. das Datum 1984.07.28 in der DB stehen und möchte nun jedes Jahr den User an genau diesem Tag angezeigt bekommen. (Geburtstag...)

Nur wie muss ich das machen? Ich habe schon versucht mit $geburtstag = date("m-d") aber damit komme ich nicht weiter, da dann garnichts ausgelesen wird.
Gibt es eine Möglichkeit, ein Datum aus der DB zu holen und das unabhängig von Jahr?

Schon mal vielen Dank!


*EDIT*

Ich probiere das ganze gerade so aus aber ich habe gelesen das es da wohl mit dem 29.02. Probleme geben soll, da das ja immer ein Schaltjahr ist. Habt Ihr damit Erfahrung?

Code: Alles auswählen

$sql = "SELECT
        			ID,
                                Nick,
                                IGNick,
                                RLName,
                                Geburtstag,
                                DATE_FORMAT(Geburtstag,'%d.%m.%Y') AS datum
			FROM
                		".SPIELER."
			WHERE
   				DATE_FORMAT(Geburtstag, '%c %e') = DATE_FORMAT(CURDATE(), '%c %e');";
        $result = mysql_query($sql) OR die(mysql_error());
        	$idz = array();
        	$nickz = array();
                $ignick = array();
                $rlname = array();
        	$geburtstag = array();
                $eintraegegb = 0;

        while($row = mysql_fetch_assoc($result)) {
        	$idz[] = $row['ID'];
        	$nickz[] = $row[getDarstellNick()];
                $ignick[] = $row['IGNick'];
                $rlname[] = $row['RLName'];
        	$geburtstag[] = $row['Geburtstag'];
                $eintraegegb++;
        }

        for ($i=0; $i<$eintraegegb; $i++) {
        $alter[] = (date("Y-m-d") - $geburtstag[$i]);
        echo " ".$nickz[$i]." (".$alter[$i]."),";
        }
Formatierung fehlt noch aber das ist ja für mein Problem erstmal unwichtig ;)
LG Marc

Wir leben alle unter dem gleichen Himmel, aber wir haben nicht alle den gleichen Horizont.
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Re: Wie Datum aus DB auslesen und weiter rechnen (ohne YYYY)?

Beitrag von Pyramide »

TLoD hat geschrieben:aber ich habe gelesen das es da wohl mit dem 29.02. Probleme geben soll, da das ja immer ein Schaltjahr ist.
Nun, du bekommst logischerweise den Geburtstag der Leute, die am 29.02. geburtstag haben, nur alle 4 Jahre angezeigt, da es den 29.02. ja in den drei Jahren dazwischen nicht gibt.
KB:knigge
Boecki91
Ehemaliges Teammitglied
Beiträge: 4744
Registriert: 18.06.2006 15:21

Re: Wie Datum aus DB auslesen und weiter rechnen (ohne YYYY)?

Beitrag von Boecki91 »

Was hältst du von einem zusätzlichen

ODER Wenn heute 1.3. UND Geburtstag am 29.02 UND NICHT schaltjahr

bei der Datenbankabfrage, ich weiß nur nicht ob mySQL das letztere unterstützt, ich habe leider gerade keine Zeit die mySQL Doku zu studieren. Interessieren tut mich das aber :D
Standart: Am besten mit beiden Beinen auf dem Boden
Standardmäßig antworte ich nicht auf PMs
Antworten

Zurück zu „Coding & Technik“