06.07.2007, 16:39
Seiten: 1 2
06.07.2007, 18:59
Ok, jetzt hab ich es massentauglich gemacht und den timestamp raus. Nur finde ich nix im Manual über Umwandlung des timestamp. Welche Funktion muss ich also verwenden um es als alter auszugeben?
06.07.2007, 20:39
Der Timestamp am Ende ist ja die Differenz in Sekunden. Die kannst du in Jahre umwandeln, indem du durch 31536000 teilst. Danach musst du noch runden.
06.07.2007, 21:46
hmmmm... also so sieht das Skript im Moment aus:
Nur das Runden scheitert, es wird immer "(wird 12)" ausgegeben, die Rechnung stimmt allerdings, den vorher hat er "15.9xxxx" als Timestamp ausgegeben, somit müsste eig. "wird 16" da stehn.
PHP-Code:
$abfrage = mysql_query("SELECT * FROM `gebtage` WHERE monat = '".date("m")."' ORDER BY monat ASC");
while($row = mysql_fetch_assoc($abfrage)) {
$gebts = mktime(0, 0, 0, $row[monat], $row[tag], $row[jahr]);
$aktts = date("U");
$gebstamp = $aktts-$gebts;
$alter = $gebstamp/31536000;
echo "<b>$row[name]</b> $row[tag].$row[monat].$row[jahr](wird ";
$alter = $S;
if ($S < 12) echo "12";
elseif ($S > 12) echo "13";
elseif ($S > 13) echo "14";
elseif ($S > 14) echo "15";
elseif ($S > 15) echo "16";
elseif ($S > 16) echo "17";
elseif ($S > 17) echo "18";
elseif ($S >= 18) echo "19";
")<br />\n";
}
Nur das Runden scheitert, es wird immer "(wird 12)" ausgegeben, die Rechnung stimmt allerdings, den vorher hat er "15.9xxxx" als Timestamp ausgegeben, somit müsste eig. "wird 16" da stehn.
06.07.2007, 21:58
Ja, das sieht schon viel besser aus....
...ABER:
Jetzt wird jemand mit "wird 16" gekennzeichnet, der aber morgen erst 15 wird. Das ist unschön. Vorher wo ich noch den Timestamp anzeigen ließ, ist rausgekommen, das bei ihm 15.00xxx steht, somit wird dieser Wert aufgerundet, aber das möchte ich nicht. Was ist nun die Lösung dafür?
===> Hat sich erledigt, ich habe ceil() durch round() ersetzt da diese erst ab x.5 aufrundet und bei x.4 abrundet.
Somit danke dir Michael erstmal für diesen Moment.
...ABER:
Jetzt wird jemand mit "wird 16" gekennzeichnet, der aber morgen erst 15 wird. Das ist unschön. Vorher wo ich noch den Timestamp anzeigen ließ, ist rausgekommen, das bei ihm 15.00xxx steht, somit wird dieser Wert aufgerundet, aber das möchte ich nicht. Was ist nun die Lösung dafür?
===> Hat sich erledigt, ich habe ceil() durch round() ersetzt da diese erst ab x.5 aufrundet und bei x.4 abrundet.
Somit danke dir Michael erstmal für diesen Moment.
Seiten: 1 2