Geburtstags-Script
Geburtstags-Script
Hi, kann mir jemand bei folgendem script helfen ? Ich möchte das das Script die Geburtstage aus meiner DB holt und mit dem aktuellen Datum vergleicht. Wenn eine Übereinstimmung vorhanden ist, soll auf der Seite z.B folgendes stehen: "Herzlichen Glückwunsch Manfred Sommer, du wirst heute 33 Jahre alt". Wie mache ich sowas, hat jemand einen Tip einen Codesnipsel oder wenigstens eine anregung ? Danke im voraus.
Hi
Dafür gibt es schon einen hack, suchmal nach birthday mod. Ansonsten dürfte da das einfachste sein das datum in der db dieser art zu speichern:
28-12-1982 (ist jetzt mein beispiel)
anschliessend das aktuelle datum in form bringen, von beiden mit substr die ersten 5 zeichen absebeln und vergleichen.
Das alter kannst du dann einfach durch aktuelle jahr - gespeichertes jahr rausfinden. Wenn ich aber so drüber nachgrüble könnte es sinnvoller sein die stellen getrennt in der db zu speichern dann kannst du direkt danach abfragen, also
SELECT * FROM geburtstage WHERE day=$day AND month=$month ORDER by year DESC
So würdst du alle user bekommen dessen geburttag auf day=$day und month=$month fällt, geordnet nach der grünheit der Ohren, also die jüngsten zu erst.
Datumsfunktionen und ihre handhabung verät dir das php manual auf http://php.net sicherlich gerne.
Mfg
Jens Gutzeit
Dafür gibt es schon einen hack, suchmal nach birthday mod. Ansonsten dürfte da das einfachste sein das datum in der db dieser art zu speichern:
28-12-1982 (ist jetzt mein beispiel)
anschliessend das aktuelle datum in form bringen, von beiden mit substr die ersten 5 zeichen absebeln und vergleichen.
Das alter kannst du dann einfach durch aktuelle jahr - gespeichertes jahr rausfinden. Wenn ich aber so drüber nachgrüble könnte es sinnvoller sein die stellen getrennt in der db zu speichern dann kannst du direkt danach abfragen, also
SELECT * FROM geburtstage WHERE day=$day AND month=$month ORDER by year DESC
So würdst du alle user bekommen dessen geburttag auf day=$day und month=$month fällt, geordnet nach der grünheit der Ohren, also die jüngsten zu erst.
Datumsfunktionen und ihre handhabung verät dir das php manual auf http://php.net sicherlich gerne.
Mfg
Jens Gutzeit
Hallo,
danke für deine Hilfe. Ich habe das jetzt so gelöst, hier mein Testscript:
Also bei mir läuft es ohne Probleme, sind da aber vielleicht doch Fehler drin oder sollte man etwas nicht machen ?
danke für deine Hilfe. Ich habe das jetzt so gelöst, hier mein Testscript:
Code: Alles auswählen
<?php include("open.inc.php");
$day = date("d");
$month = date("n");
$year = date("Y");
$sql = "SELECT * FROM birth WHERE tag=$day AND monat=$month ORDER by jahr DESC";
$result = mysql_query($sql, $conn);
if ($result) {
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "Heute hat ".$row['name']." Geburtstag. ";
$ay = $year - $row['jahr'];
echo "Er wird heute ".$ay." Jahre alt <BR>";
}
} else {
echo "<P>".mysql_error($conn);
}
mysql_close($conn);
?>
Hi
Sieht gesund aus, herzliches Glückwunsch, du hast die php date funktionen begriffen, das sieht man selten genug.
Ich empfehle aber $day und $month im query in ' ' zu setzen. Geht zwar auch so, aber ich auch schonmal gesehen das diese müll ausspucken, dann bist du auf der sicheren seite.
Generell sollten die werte immer in ' ' rein, sicher ist sicher. Wenn ich es nicht mache ist das weil mein coding stil auch zur hälfte verhunzt ist von PHP.
Mfg
Jens Gutzeit
Sieht gesund aus, herzliches Glückwunsch, du hast die php date funktionen begriffen, das sieht man selten genug.
Ich empfehle aber $day und $month im query in ' ' zu setzen. Geht zwar auch so, aber ich auch schonmal gesehen das diese müll ausspucken, dann bist du auf der sicheren seite.
Generell sollten die werte immer in ' ' rein, sicher ist sicher. Wenn ich es nicht mache ist das weil mein coding stil auch zur hälfte verhunzt ist von PHP.
Mfg
Jens Gutzeit