2 Fragen -> Landkarte ; Geburstag ?

Trash

Erfahrenes Mitglied
Jo, also meine erste Frage:

1.)
Wie mache ich es das ein Mitglied sein Geburtsdatum eingibt und PHP dann immer wenn er ein Jahr älter geworden ist dann ein Jahr dazuzählt ich hatte irgendwie daran gedacht das aktuelle Datum von dem geborenen abzuziehen, aber das kann ja nicht gehen ...

2.) Ist es möglich mit PHP einen Eintrag in die DB zu machen, man sagt z.B. Stuttgard und auf der Landkarte wird dann bei Stuttgard ein roter Punkt gemacht wenn man drafuklickt bekommt man Details z.B. zu dem Mitglied geliefert das in Stuttgart lebt ? Geht das üeberhaupt mit PHP oder nur manuell mit HTML ?

danke !
 
1.) wenn man ein jahr älter wird, zählt man zu dem geburtsdatum nicht ein jahr dazu

2.) das hat nichts mit php zu tun, du brauchst halt eine landkarte als grafik und kannst sie dann belibig bearbeiten, imagemaps oder layer sonst was. das ist html/javascript/css
 
Ich hab das mit dem Datum so gelöst:

Probiers mal so:

Als erstes brauchst du die werte des Geburtsdatums:
Benötigt sind da Tag, Monat, Jahr. Ich habe sie aus einer MySQL datenbank ausgelesen. du kannst es natürlich auch mit textfiles machen.

in meinem Beispiel sind das
$gebt = tag
$gebm = monat
$gebj = jahr

$todayt = date("d"); //heutiger Tag
$todaym = date("n"); //derzeiter Monat
$todayj = date("Y"); //derzeitiges Jahr

$altertest1 = $todayt - $gebt;
$altertest2 = $todaym - $gebm;
$alter1 = $todayj - $gebj;

if ($altertest1 >= 0 && $altertest2 >= 0)
{$alter = $alter1;}
else
{$alter = $alter1 - 1;}


Jetzt brauchst du nur noch echo "$alter"; machen und du hast das derzeitige Alter"
 
oder du machst das mit dem alter so:
PHP:
<?php

$birthdate = "19850614";
$actualdate = date("Ymd");

$alter = $actualdate - $birthdate;

HIER_FEHLT_WAS

echo "$alter";
?>
bei diesem script müsstest "169789" als augabe bekommen, jetzt musst dus nurnoch hinkriegen das nur die ersten 2 zahlen, sprich die 16 angezeigt werden, war jetz zu faul den befehl für sowas zu suchen ;)
 
Ich würde sein geburtsdatum mit mktime() -
in unix timestamp umrechnen.

PHP:
$usrdatum = "14.05.1987"; ## ein wert den der usr eingegeben hat
$usrdatum_ex = explode(".", $usrdatum); ## $usrdatum_ex ist ein array mit den werten 0 = tag(14), 1 = monat(05), 2 = jahr(1987)

$datum = time();

$usrseks = mktime(0, 0, 0, $usrdatum_ex[1], $usrdatum_ex[0], $usrdatum_ex[2]);
$usrlifetime = $usrseks - $datum; ## nun hast du die lebensdauer in sekunden


$alter = $usrlifetime / 60 / 60 / 24 / 365 ## geteilt durch 60 sind minuten, wieder geteil durch 60 stunden usw...
print "alter:" .floor($alter); ##mit floor rundest du jetzt $alter noch auf die nächste vollzahl ab, du könntest auch round($alter, 1) verwenden, dann sieht man zB 22, 8 - er wird bald 23 ... ;)

ich hoffe es hat sich nicht der fehlerteufel eingeschlichen, ich kann hier leider keine scripts testen

gruss, dave
 
Zuletzt bearbeitet:
@sf-q3: das ist ungenau, rein die jahreszahl sagt ja nichts,

13.5.1990 geborgen, dann bist du am 13.4.2000 auch nicht 10.
 
Lol @ godwich

warum einfach wenn es auch kompliziert geht.

an Trash:
Das mit der Landkarte geht glaub mit java. Mit PHP fällt mir dazu nix ein.
 
Original geschrieben von godwich
@sf-q3: das ist ungenau, rein die jahreszahl sagt ja nichts,

13.5.1990 geborgen, dann bist du am 13.4.2000 auch nicht 10.

wäre man auch nicht, kleine änderung:
PHP:
<?php

$birthdate = "1985.0614";
$actualdate = date("Y.md");

$alter = $actualdate - $birthdate;

HIER_FEHLT_WAS

echo "$alter";
?>
so, die ausgabe bis zum punkt lesen.
Beideinem beispiel wäre die ausgabe 9.99, bis zum punkt gelesen 9
 
Landkarte:
Du brauchst Webspace mit gd-unterstützung. Die GD-Bibliothek umfasst viele php-funktionen zum arbeiten mit grafiken. Du kannst so z. B. eine Karte von Deutschland nehmen und mit php die koordinaten in die grafik einbinden lassen -> als ausgabe für die leute, die gucken wollen wo das ist. die originalgrafik wird nur zum einlesen benutzt.

Ich würde mich in diese Richtung mal schlau machen, kann leider nicht direkt dabei helfen, arbeite mich selber gerade ein in die gd-bib.

hoffe die anregung hilft
 
Um das Geburtsdatum auszurechnen habe ich hier ein Script.
Ist jedoch nicht von mir.

PHP:
function getage($birthDate) { // $birthDate == "04|12|1984" for example
        if($birthDate != '0') {
                $birthArray = explode( "|", strval( $birthDate ) );
                $nowArray = getdate( time() );
                $nowArray = array( $nowArray['mday'], $nowArray['mon'], $nowArray['year'] );
                $stichtag = array($birthArray[0], $birthArray[1], $nowArray[2]);
                $tagDifferenz = date("z", gmmktime(12, 0, 0, $nowArray[1], $nowArray[0], $stichtag[2])) - date("z", gmmktime($
                if( ( gmmktime(12, 0, 0, $nowArray[1], $nowArray[0], $nowArray[2] ) - gmmktime(12, 0, 0, $stichtag[1], $stich$
                        $stichtag = array($birthArray[0], $birthArray[1], ($nowArray[2]-1));
                        $tagDifferenz = date("z", gmmktime(12, 0, 0, $nowArray[1], $nowArray[0], $stichtag[2])) - date("z", g$
                }
                if( $tagDifferenz < 0 ) {
                        $tagDifferenz = 365 + $tagDifferenz;
                }
                switch( date( "L", gmmktime(12, 0, 0, $stichtag[1], $stichtag[0], $stichtag[2] ) ) ) {
                        case 1:$tageProJahr = 366;
                        break;
                        case 0:$tageProJahr = 365;
                        break;
                }
                $age = ( date("Y", gmmktime(12, 0, 0, $stichtag[1], $stichtag[0], $stichtag[2] ) ) - date("Y", gmmktime(12, 0$
        }else{
                $age = "No age set\n";
        }
                return $age;
}

Ich hoffe das hilft dir.

-emkey
 
Zurück