MyBB.de Forum
[z.Z. keine Fragen] MySQL - Technische Frage - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: [z.Z. keine Fragen] MySQL - Technische Frage (/thread-6246.html)

Seiten: Seiten: 1 2


RE: MySQL - Technische Frage - Michael - 06.07.2007

Probiere es einfach mal aus.


RE: MySQL - Technische Frage - modercol - 06.07.2007

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?


RE: MySQL - Technische Frage - Michael - 06.07.2007

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.


RE: MySQL - Technische Frage - modercol - 06.07.2007

hmmmm... also so sieht das Skript im Moment aus:
PHP-Code:
$abfrage mysql_query("SELECT * FROM `gebtage` WHERE monat = '".date("m")."' ORDER BY monat ASC");
while(
$row mysql_fetch_assoc($abfrage)) {
$gebts mktime(000$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.


RE: MySQL - Technische Frage - Michael - 06.07.2007

Benutze die Funktion ceil().


RE: MySQL - Technische Frage - modercol - 06.07.2007

Ja, das sieht schon viel besser ausWink....

...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?Rolleyes

===> 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.Wink