Seite 1 von 1
Geburtstags-Script
Verfasst: 25.11.2002 00:53
von Condor
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.
Verfasst: 25.11.2002 01:08
von Jensemann
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
Verfasst: 26.11.2002 02:31
von Condor
Hallo,
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);
?>
Also bei mir läuft es ohne Probleme, sind da aber vielleicht doch Fehler drin oder sollte man etwas nicht machen ?
Verfasst: 26.11.2002 04:06
von Jensemann
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
Verfasst: 27.11.2002 00:55
von Condor
Hi,
vielen Dank für deine Mühe und Hilfe.