Seite 1 von 1
Onlinestatus auslesen
Verfasst: 23.04.2009 12:17
von LP_Stiller
Hi!
Ich habe da mal eine Frage:
Ich würde gern den Onlinestatus aus phpBB auslesen von einem bestimmten User. Ist dies möglich und wenn ja, wie?
ich will nämlich den Onlinestatus in einer anderen Liste mit aufführen.
Re: Onlinestatus auslesen
Verfasst: 23.04.2009 13:06
von 4seven
guck dir die stelle ein, wo der status original gebildet wird, dann erschließt sich der umbau schnell..
Re: Onlinestatus auslesen
Verfasst: 23.04.2009 13:29
von LP_Stiller
Hab ich getan, aber ich bin nicht so weit in php fortgeschritten, dass ich das alles da versteh!

Re: Onlinestatus auslesen
Verfasst: 24.04.2009 16:46
von igorw
Der online status hängt von der phpbb_sessions tabelle ab. Da muss man in einer SQL abfrage einen OUTER JOIN machen, damit ein fehlender datensatz keine probleme beschert. OUTER JOINs sind LEFT oder RIGHT joins. Das ganze sieht zum beispiel so aus:
Code: Alles auswählen
SELECT u.username, s.session_id
FROM phpbb_users u
LEFT JOIN phpbb_sessions s
ON u.user_id = s.session_user_id
Nun bekommt man eine liste aller user, und falls der user online ist, ist dessen session_id im datensatz vorhanden.
Re: Onlinestatus auslesen
Verfasst: 24.04.2009 16:52
von LP_Stiller
also stinknormal als array auslesen und dann erstmal print_r() machen, damit man sieht, was da los ist.....
Wenn das so funkt sollte ich ja nur noch schauen müssen, ob da irgendwo bei user_id der user steht....wenn nicht könnte ich ja auch aus den Userdetails da den Wert für letztes mal online auslesen....
Wer anders meinte, dass ich einfach aus den Userdetails auslesen lassen soll, wann der das letzte mal online war und dann schauen, ob das vor ner minute war oder nicht....stelle ir aber vor, dass die angaben da meist erst nach seasonablauf aktualisiert werden
Re: Onlinestatus auslesen
Verfasst: 24.04.2009 18:24
von LP_Stiller
Also hab jetzt nen bisschen rumprobiert! Also bekommen tu ich was, aber nur von Anonymus. Dabei bin ich selber gerade online!!
So schaut mein Script aus:
Code: Alles auswählen
<?php
$db = mysql_connect('***','***','***','***');
mysql_select_db("***", $db);
$query = sprintf("SELECT u.username, s.session_id FROM sfb_users u LEFT JOIN sfb_sessions s ON u.user_id = s.session_user_id");
$result = mysql_query($query, $db);
$daten = mysql_fetch_array($result);
mysql_close($db);
print_r($daten);
?>
Muss ich den User schon hier irgendwo angeben?