Onlinestatus auslesen

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
LP_Stiller
Mitglied
Beiträge: 17
Registriert: 05.04.2009 15:53

Onlinestatus auslesen

Beitrag 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.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Re: Onlinestatus auslesen

Beitrag von 4seven »

guck dir die stelle ein, wo der status original gebildet wird, dann erschließt sich der umbau schnell..
LP_Stiller
Mitglied
Beiträge: 17
Registriert: 05.04.2009 15:53

Re: Onlinestatus auslesen

Beitrag von LP_Stiller »

Hab ich getan, aber ich bin nicht so weit in php fortgeschritten, dass ich das alles da versteh! :P
Zuletzt geändert von LP_Stiller am 24.04.2009 18:30, insgesamt 1-mal geändert.
Benutzeravatar
igorw
Mitglied
Beiträge: 107
Registriert: 02.08.2008 13:04
Wohnort: Winterthur

Re: Onlinestatus auslesen

Beitrag 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.
LP_Stiller
Mitglied
Beiträge: 17
Registriert: 05.04.2009 15:53

Re: Onlinestatus auslesen

Beitrag 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
LP_Stiller
Mitglied
Beiträge: 17
Registriert: 05.04.2009 15:53

Re: Onlinestatus auslesen

Beitrag 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?
Antworten

Zurück zu „Coding & Technik“