 |
| 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 |
22.05.2005, 19:42
|
#1
|
|
TP-Supporter
Registriert seit: Mar 2004
|
Onlinezeit vom Timestamp nach Stunde umwandeln!
Hallo!
ALso die Suche hab ich schomal wunderbar benutzt und es kommt auch einiges daher!nur ich möchte mal folgendes machen:
ich habe einen chat indem die onlinezeit als timestamp gespeichert wird. wie bekomme ich dies nach der sql-abfrage im Stunden format hin?
also zb. Nick war 33 Stunden online!
=)
hoffe mir kann wer helfen=)
lg
time
|
|
|
22.05.2005, 20:10
|
#2
|
|
TP-Supporter
Registriert seit: Feb 2005
|
Machs am besten so, dass beim einloggen der aktuelle Timestamp gespeichert wird. Wenn man dann die Onlinezeit anzeigen lassen will, Subtrahiert man den akutellen Timestamp ein fach von dem, der beim einloggen gespeichert wurde und dividiert diesen durch 3600. Dann bekomtm man die Stundenzahl, allerdings mit Dezimalen hinten dran. Da musste dann selber schauen, wie du das regeln willst, ob dann aufgerundet werden soll oder mit Minuten, etc.
|
|
|
23.05.2005, 14:14
|
#3
|
|
TP-Moderator
Registriert seit: Jan 2005
Ort: Düsseldorf
|
Einfach mal
getdate()
anschauen und feststellen was man mit Timestamps so machen kann, warum überflüssige Berechnungen hinpfuschen, wenn es ohnehin schon eine Vielzahl sehr Leistungsfähiger Zeit/Datumsfunktionen gibt.
So long,
skip
__________________
Chenaski - Klamotten designed by Pete
USE - nicht immer nur mit Stars and Stripes rumlaufen!
Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....
|
|
|
23.05.2005, 17:10
|
#4
|
|
TP-Supporter
Registriert seit: Mar 2004
|
ähm ja ich bin nur absoluter neuling mit der zeit+gg+es wird eh schon alles gespeichert=)der chat is scho fertig programmiert nur ich will ja lernen und will ebn selbst eine tabelle erstellen, wo die chatter mit den meisten stunden dabei sind=)ich werd mir mal die getdate() anschaun=)
danke=)
|
|
|
23.05.2005, 17:35
|
#5
|
|
TP-Supporter
Registriert seit: Mar 2004
|
Leider gibs bei mir Probleme! Ich hoffe es stört nicht wenn ich den code da reinhau aber ich weiß net ob das so passt!
PHP-Code:
$sql = 'SELECT `chat1_chatusers`.`nick`, `chat1_chatusers`.`totaltime`'
. ' FROM chat1_chatusers'
. ' ORDER BY `chat1_chatusers`.`totaltime` DESC LIMIT 0, 15';
$result = mysql_query($sql) OR die(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
echo $row['nick']." ";
$onlinezeit = $row['totaltime'];
$stunden = getdate($onlinezeit);
echo $stunden['hours'];
echo "<br>";
}
soll ich erklären auch?aber ich denke das brauch ich net weil ihr kennt euch eh super aus!+g+hoffe mir kann wer erklären was ich falsch mache denn er gibt eine komplett falsche stundenanzahl raus, die der user schon online war!
lg
time
|
|
|
23.05.2005, 18:02
|
#6
|
|
TP-Moderator
Registriert seit: Jan 2005
Ort: Düsseldorf
|
Ein Timestamp ist das was der Name schon besagt, ein Stempel, es wird also nur ein Zeitpunkt festgehalten.
Ein Zeitdauer ist grundsätzlich eine Differenz zweier Zeitpunkte.
Sorry for that, ich habe also nicht tatsächlich aufgepasst. Es würde mich also sehr wundern, wenn der chat diesen Timestamp jedesmal aufaddiert, sondern er wird dort einen Zeitpunkt abgreifen, zeig uns mal die Tabellenstruktur, wird dort eine andere Zeitmarke vergeben?
Mit anderen Worten, schäm, man wird also auf die eine oder andere Weise doch ein wenig rechnen müssen.
So long,
skip
__________________
Chenaski - Klamotten designed by Pete
USE - nicht immer nur mit Stars and Stripes rumlaufen!
Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....
|
|
|
23.05.2005, 18:40
|
#7
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
oder poste doch mal, was in $onlinezeit drinsteht
|
|
|
24.05.2005, 13:57
|
#8
|
|
TP-Supporter
Registriert seit: Mar 2004
|
in der onlinezeit steht beim besten user 3!was net so ganz stimmen kann+gg+ tjo ähm in der datenbank gibts verschiedene spalten mit timestamp: lastaction, totaltime, creation(die ist als datum drin),time
tja das wär alles!i glaub die titel sprechen für sich!hmmm tja i weiß halt net wie ich das ausrechnen soll+gg+ich hoffe mir kann geholfen werden!=)
lg
time
|
|
|
24.05.2005, 15:46
|
#9
|
|
TP-Moderator
Registriert seit: Jan 2005
Ort: Düsseldorf
|
Tja, da weiß ich dann auch nicht so recht. Kannst du nachvollziehen, welche Funktion das totaltime Feld füllt? Timestamp ist auf jeden Fall das falsche Format um eine Dauer zu bestimmen, so viel ist sicher. Für Lastaction und Creation passt der Typ natürlich prima.
Was genau wird also von wem in das Feld geschrieben? Sollten es Sekunden sein? Leg doch mal einen neuen User an und kontrollier den Startwert von Totaltime (Den tatsächlichen DB Eintrag, mit phpMyAdmin z.B.). Dann geh mit dem neuen User eine Minute oder was auch immer online und check den Wert erneut, was ändert sich da tatsächlich?
Sollten dort einfach die Sekunden reingeschrieben werden, dann greift die ursprünglich vorgeschlagene Lösung mit Division durch 3600, falls du was anderes feststellst, keine Ahnung, dann musst du im script rausbekommen wer was wo reinschreibt und warum.
So long,
skip
__________________
Chenaski - Klamotten designed by Pete
USE - nicht immer nur mit Stars and Stripes rumlaufen!
Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....
|
|
|
24.05.2005, 15:47
|
#10
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
wenn da 3 drinsteht, ist es kein Timestamp! Dann funktionieren auch nicht die Umrechnungen.
Suche die Stelle im Script, wo dieses Feld geschrieben wird.
|
|
|
24.05.2005, 15:49
|
#11
|
|
TP-Supporter
Registriert seit: Mar 2004
|
mhm ok ich werd mal guggn=) danke für die infos=)
|
|
|
24.05.2005, 15:54
|
#12
|
|
TP-Moderator
Registriert seit: Jan 2005
Ort: Düsseldorf
|
@St@eff.en:
Die drei kann schon sein, ich glaube er meint die Ausgabe nach getdate($time) und dann eben $time['hours']
@timedance123:
Es geht uns hier wirklich um den tatsächlichen DB Eintrag, poste mal ein paar Beispiele.
So long,
skip
PS: Dein nickname verpflichtet ja eigentlich zu einem leidenschaftlichen Umgang mit den Zeit und Datumsfunktionen von php 
__________________
Chenaski - Klamotten designed by Pete
USE - nicht immer nur mit Stars and Stripes rumlaufen!
Hunde in der Großstadt: Guck mal wo ich fast reingetreten bin.....
|
|
|
24.05.2005, 16:13
|
#13
|
|
TP-Supporter
Registriert seit: Mar 2004
|
hier die einträge
user ohne chatstunden: 0
nach einer ca. einer minute: 12
nach vielen chatstunden: 17497
hoffe das hilft als angabe=)
|
|
|
24.05.2005, 16:16
|
#14
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
also doch kein Timestamp. Wenn wir aber nicht sehen, wie dieser Eintrag im Skript berechnet wird, bleibt uns die Logik verborgen 
|
|
|
24.05.2005, 16:24
|
#15
|
|
TP-Supporter
Registriert seit: Mar 2004
|
hmmm naja mir wurde gesagt es sei timestamp+gg+ok ich werd mich mal in den code schmeisen, schaun was da irgendwo steht mit dem eintrag!kann aber noch dauern+gg+
|
|
|
|
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.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr.
|
 |