 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
06.07.2005, 12:52
|
#1
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
alter ausrechnen
da bin ich mal wieder, wo wird einem besser geholfen als im TP?
jetzt brauche ich mal das alter, habe auch schon suche benutzt, aber nix 'wirkungsvolles' gefunden:
PHP-Code:
$geda = "SELECT gebdatum,vorname,name FROM $table_mitglieder WHERE DAYOFYEAR(gebdatum) = DAYOFYEAR(NOW()) ORDER BY name";
$result = mysql_query($geda) or die(mysql_error());
if(mysql_num_rows($result)) {
while($row = mysql_fetch_assoc($result)) {
echo "Herzlichen Glückwunsch: heute hat <b>".$row['vorname']." ".$row['name']."</b> Geburtstag!<br>";
}
} else {
echo"Heute keine Geburtstage.\n";
}
und da hätte ich gerne noch die altersaugabe mit drin.
__________________
computer tun nur das was man ihnen sagt, meistens
|
|
|
06.07.2005, 13:26
|
#2
|
|
TP-Veteran
Registriert seit: Apr 2001
Ort: Münster und gerade aus Brisbane
|
Code:
$geda = "SELECT gebdatum,vorname,name FROM $table_mitglieder WHERE DAYOFYEAR(gebdatum) = DAYOFYEAR(NOW()) ORDER BY name";
$result = mysql_query($geda) or die(mysql_error());
if(mysql_num_rows($result)) {
while($row = mysql_fetch_assoc($result)) {
$gebjahr=substr($row['gebdatum'],0,4);
$alter = date("Y")- $gebjahr;
echo "Herzlichen Glückwunsch: heute hat <b>".$row['vorname']." ".$row['name']."</b> ".$alter." . Geburtstag!<br>";
}
} else {
echo"Heute keine Geburtstage.\n";
}
(ungetestet) Ich bin jetzt einfach mal davon ausgegangen, dass du das geburtsdatum im format yyyy-mm-dd gespeichert hast. eleganter würde das sicher auch noch direkt in dem mysql befehl gehen!
In der variablen $alter müsste jetzt das Alter stehen.
|
|
|
06.07.2005, 14:06
|
#3
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
jep, 0000-00-00 war richtig. funzt  , danke
__________________
computer tun nur das was man ihnen sagt, meistens
|
|
|
28.12.2005, 16:27
|
#4
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
mir ist was aufgefallen, es gibt jahre da sind die tage verrutscht, dann haut das mit der abfrage nicht hin. wie kann ich das feld gebdatum (format date 0000-00-00) in 00-00 ohne das jahr zerlegen und mit heute abgleichen? das wäre wohl das sinnvollste, oder?
__________________
computer tun nur das was man ihnen sagt, meistens
|
|
|
28.12.2005, 16:54
|
#5
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
pack doch das Alter in die SQL-Anweisung:
TO_DAYS(gebdatum) - Anzahl Tage seit gebdatum
das teilst Du noch durch 365
|
|
|
29.12.2005, 07:37
|
#6
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
wie müsste ich mir das vorstellen?
__________________
computer tun nur das was man ihnen sagt, meistens
|
|
|
29.12.2005, 10:45
|
#7
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
vorstellen gar nicht, vielleicht mal die MySQL-Doku besuchen ?
SELECT gebdatum,vorname,name,TO_DAYS(gebdatum)/365 as alter FROM $table_mitglieder
|
|
|
17.01.2008, 14:47
|
#8
|
|
TP-Veteran
Registriert seit: May 2003
Ort: krefeld
|
etwas länger her aber vielleicht braucht das jemand:
PHP-Code:
$sql = "SELECT * FROM table";
$res = mysql_query($sql) or die(mysql_error());
$num_rows = mysql_num_rows($res);
while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
// hier im Format YYYY-MM-DD
$datum = $row['gebdatum'];
$array = explode("-",$datum);
$jahr = $array[0];
$monat = $array[1];
$tag = $array[2];
$alter = (date('Y') - $jahr) - intval(date('md') < sprintf('%02d%02d' , $monat , $tag ));
echo $alter;
}
__________________
computer tun nur das was man ihnen sagt, meistens
|
|
|
18.01.2008, 16:09
|
#9
|
|
TP-Specialist
Registriert seit: Jan 2004
Ort: Münster-Hiltrup
|
Gibt es da auch eine einfache Möglichkeit das Alter so zu berechnen,
dass z.b ausgegeben wird: Hans ist 22 Jahre - 6 Monate und 18 Tage jung?
|
|
|
18.01.2008, 16:53
|
#10
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Zitat:
Zitat von MichaelM
Gibt es da auch eine einfache Möglichkeit das Alter so zu berechnen,
dass z.b ausgegeben wird: Hans ist 22 Jahre - 6 Monate und 18 Tage jung?
|
Alles was man dazu braucht ist den Ausgangspunkt (Geburtsdatum), date, mktime und Grundkenntnisse in Mathematik, dann kann man sich sowas in wenigen Minuten selbst schreiben. 
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
.
|
|
|
18.01.2008, 19:00
|
#11
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
und Kenntnis über Schaltjahre 
|
|
|
19.01.2008, 13:21
|
#12
|
|
TP-Specialist
Registriert seit: Jan 2004
Ort: Münster-Hiltrup
|
Zitat:
Zitat von steffenk
und Kenntnis über Schaltjahre 
|
Soweit ich informiert bin berücksichtigt mktime doch die Schaltjahre.
Oder habe ich das falsch verstanden?
PHP-Code:
function getAlter($datum){
$age = explode("-",$datum);
$alter = date("Y",time())-$age[0];
if (mktime(0,0,0,date("m",time()),date("d",time()),date("Y",time())) < mktime(0,0,0,$age[1],$age[2],date("Y",time())))
$alter--;
return $alter;
}
|
|
|
19.01.2008, 23:54
|
#13
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Ist aber mMn. besser, die Berechnung durch MySQL machen zu lassen. MySQL bietet da doch komfortablere Lösungen als PHP und ist mWn. auch performanter, wenn man eh ein Query absetzen muss (@steffenk: Bitte korrigiere mich, wenn ich falsch liege).
__________________
Je größer der Deppenfaktor, desto gigantischer das Bescheidwissergefühl
-Dieter Nuhr
|
|
|
20.01.2008, 11:07
|
#14
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
korrekt - ich ziehe die MySQL-Methoden auch vor.
|
|
|
20.01.2008, 12:23
|
#15
|
|
TP-Specialist
Registriert seit: Jan 2004
Ort: Münster-Hiltrup
|
gibt es da eventuell ein Beispiel für und werden die Schaltjahre dann auch berücksichtigt?
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
| | |