Wer ist Online (5min-Bug) Alternative

Begonnen von alekto, 07 Februar 2007, 16:09:48

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

alekto

Weiß nicht, ob der Bug noch in der aktuellen Version existiert, aber man konnte nicht so wirklich im "Wer ist Online"-Block gescheit anzeigen, wieviele User in den letzten X Minuten online waren. Also war so ne Art zwang auf 5 minuten.

Habe folgende Lösung, auch zu sehen auf meiner HP: http://www.alekto-programming.com/

Bin nicht so der SQL_Freak ^^ aber es funzt genau so wie es soll

Hab noch ein paar Schnipsel auskommentiert, wenn man vllt nur alle User mit ungerader Trackid zählen will, oder so ^^

$deltaOnline = 1800;  //Zeitdifferenz in Sekunden
//$onlinersTimestamps = array();
//$onlinersIDs = array();

$sql_statement = "SELECT tracktime, trackid, uid FROM ${user_prefix}_tracking WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(tracktime) <= $deltaOnline GROUP by trackid;";
$result = sql_query($sql_statement) or die("Fehler im Statement für OnlineUsers");

$totalCount = 0; // All Users
$regCount = 0; // Registered Users

while($array = sql_fetch_row($result)){
//array_push($onlinersTimestamps,$array[0]);
//array_push($onlinerIPs,$array[1]);
if($array[2] > 0) // a registered user...
$regCount++;
$totalCount++;
}


Bei Fragen grad schreiben oder auf meiner page im board...