phpbuddy.eu
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 06.07.2005, 12:52   #1
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay bringt sich richtig einjayjay bringt sich richtig ein

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&uuml;ckwunsch: heute hat <b>".$row['vorname']."&nbsp;".$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
jayjay ist offline   Mit Zitat antworten


Alt 06.07.2005, 13:26   #2
jph
TP-Veteran
 
Benutzerbild von jph
 
Registriert seit: Apr 2001
Ort: Münster und gerade aus Brisbane
jph ist auf einem guten Weg
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&uuml;ckwunsch: heute hat <b>".$row['vorname']."&nbsp;".$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.
__________________
Internetprojekte & Webdesign
www.janheck.de
post@janheck.de
jph ist offline   Mit Zitat antworten
Alt 06.07.2005, 14:06   #3
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay bringt sich richtig einjayjay bringt sich richtig ein
jep, 0000-00-00 war richtig. funzt , danke
__________________
computer tun nur das was man ihnen sagt, meistens
jayjay ist offline   Mit Zitat antworten
Alt 28.12.2005, 16:27   #4
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay bringt sich richtig einjayjay bringt sich richtig ein
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
jayjay ist offline   Mit Zitat antworten
Alt 28.12.2005, 16:54   #5
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
pack doch das Alter in die SQL-Anweisung:

TO_DAYS(gebdatum) - Anzahl Tage seit gebdatum

das teilst Du noch durch 365
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 29.12.2005, 07:37   #6
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay bringt sich richtig einjayjay bringt sich richtig ein
wie müsste ich mir das vorstellen?
__________________
computer tun nur das was man ihnen sagt, meistens
jayjay ist offline   Mit Zitat antworten
Alt 29.12.2005, 10:45   #7
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
vorstellen gar nicht, vielleicht mal die MySQL-Doku besuchen ?

SELECT gebdatum,vorname,name,TO_DAYS(gebdatum)/365 as alter FROM $table_mitglieder
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 17.01.2008, 14:47   #8
TP-Veteran
 
Benutzerbild von jayjay
 
Registriert seit: May 2003
Ort: krefeld
jayjay bringt sich richtig einjayjay bringt sich richtig ein
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($resMYSQL_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
jayjay ist offline   Mit Zitat antworten
Alt 18.01.2008, 16:09   #9
TP-Specialist
 
Benutzerbild von MichaelM
 
Registriert seit: Jan 2004
Ort: Münster-Hiltrup
MichaelM hilft, wo's gehtMichaelM hilft, wo's gehtMichaelM hilft, wo's geht
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?
__________________
Harleylujar, Michael!!

Falls mein Beitrag zu einer Lösung geführt hat,
würde ich mich über eine konstruktive Bewertung freuen.


Man sieht nur mit dem Herzen gut - das Wesentliche ist für das Auge unsichtbar...


www.mikel-mueller.de
www.sanitaertechnik-mueller.de

-------------------------------------
Mein Useralbum
MichaelM ist offline   Mit Zitat antworten
Alt 18.01.2008, 16:53   #10
TP-Moderator
 
Benutzerbild von Rizzo
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
Rizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine UserRizzo lebt für das TP und seine User
Zitat:
Zitat von MichaelM Beitrag anzeigen
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
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
.
Rizzo ist gerade online   Mit Zitat antworten
Alt 18.01.2008, 19:00   #11
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
und Kenntnis über Schaltjahre
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 19.01.2008, 13:21   #12
TP-Specialist
 
Benutzerbild von MichaelM
 
Registriert seit: Jan 2004
Ort: Münster-Hiltrup
MichaelM hilft, wo's gehtMichaelM hilft, wo's gehtMichaelM hilft, wo's geht
Zitat:
Zitat von steffenk Beitrag anzeigen
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;

__________________
Harleylujar, Michael!!

Falls mein Beitrag zu einer Lösung geführt hat,
würde ich mich über eine konstruktive Bewertung freuen.


Man sieht nur mit dem Herzen gut - das Wesentliche ist für das Auge unsichtbar...


www.mikel-mueller.de
www.sanitaertechnik-mueller.de

-------------------------------------
Mein Useralbum
MichaelM ist offline   Mit Zitat antworten
Alt 19.01.2008, 23:54   #13
TP-Moderator
 
Benutzerbild von Adromir
 
Registriert seit: Jun 2004
Ort: Hannover
Adromir ist ein richtiges Arbeitstier - DANKEAdromir ist ein richtiges Arbeitstier - DANKEAdromir ist ein richtiges Arbeitstier - DANKEAdromir ist ein richtiges Arbeitstier - DANKEAdromir ist ein richtiges Arbeitstier - DANKEAdromir ist ein richtiges Arbeitstier - DANKE
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
Adromir ist offline   Mit Zitat antworten
Alt 20.01.2008, 11:07   #14
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
korrekt - ich ziehe die MySQL-Methoden auch vor.
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 20.01.2008, 12:23   #15
TP-Specialist
 
Benutzerbild von MichaelM
 
Registriert seit: Jan 2004
Ort: Münster-Hiltrup
MichaelM hilft, wo's gehtMichaelM hilft, wo's gehtMichaelM hilft, wo's geht
gibt es da eventuell ein Beispiel für und werden die Schaltjahre dann auch berücksichtigt?
__________________
Harleylujar, Michael!!

Falls mein Beitrag zu einer Lösung geführt hat,
würde ich mich über eine konstruktive Bewertung freuen.


Man sieht nur mit dem Herzen gut - das Wesentliche ist für das Auge unsichtbar...


www.mikel-mueller.de
www.sanitaertechnik-mueller.de

-------------------------------------
Mein Useralbum
MichaelM ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
alter ausrechnen alter ausrechnen
« SQL-Anfrage mit Array "joinen" | Fehler bei Logauswertung? »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu