Seite 1 von 1

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

Verfasst: 28.03.2009 10:46
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 ;)

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

Verfasst: 28.03.2009 15:16
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.

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

Verfasst: 16.04.2009 20:22
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