Viel einfacher und db-schonender ist es, den Nick direkt beim Auslesen der 1. Angaben zu ermitteln. Dazu muss man die SELECT-Anweisung etwas erweitern.

Bei dem "wer ist online" das ich kenne ist es so, das erst alle, die online sind ausgelesen werden und dann für jeden! User nochmal der nick einzeln gelesen wird. Wenn mal angenommen 50 user online sind, wird noch 50 mal auf die Datenbank zugegriffen. Bei jedem Seitenaufruf, bei jedem User ... Stress pur für die Datenbank, der nicht sein muss.

Bei mir sah es vorher so aus:
Code:
$wioOnline = db_query ("SELECT uid FROM ".$db_prefix."_kontodaten WHERE last_active >= ".(time() - $wioTime)." ORDER BY uid");
Auslesen des Nicknamens je User:
Code:
$userdaten = mysql_fetch_array(db_query("SELECT * FROM ".$db_prefix."_userdaten WHERE uid=".$wioIsOnline['uid'].""));
Und jetzt sieht es so aus ... mit einer einzigen Anweisung werden die Infos an sich UND die Nicknamen der User geholt.
Code:
$wioOnline = db_query ("SELECT k.uid AS uid, u.nickname AS nickname FROM ".$db_prefix."_kontodaten k, ".$db_prefix."_userdaten u WHERE k.last_active >= ".(time() - $wioTime)." AND k.uid = u.uid ORDER BY k.uid");