Online / Offline Status HILFE

diego1978

Grünschnabel
Hallo Ihr seid meine allerletzte Hoffnung! Mir wurde gesagt ihr seid so was wie PHP-Götter hier! Und wenn ihr nimmer wisst dann lass ich es sofort! sitze hier und verzweifle fast! Also

Ich habe ne kleine Flirtseite und möchte in den Userprofilen ein Online / Offline Button einbauen. Jetzt habe ich folgendes dazu in PHP erstellt!



Code:
<? 
$tmp = mysql_query("SELECT DISTINCT user FROM ".C_MYSQL_ONLINE_USERS) or die("Read Error<br>".mysql_error()); 
$row = mysql_fetch_array($tmp); 
$status=$row['Status']; 
if($status) echo "Online"; 
else echo "Offline"; 
?>



Aber ich bekomme als ausgabe immer nur Offline egal ob der User offline oder online ist!
Wo ist der Fehler

Hier noch ein paar allgemeine Daten die zur Fehlersuche evtl hilfreich sein könnten:

Aus der Config die Tabellennamen (Die stimmen)

define('C_MYSQL_MEMBERS','pro_membersu');// Table for members info
define('C_MYSQL_ONLINE_USERS','pro_onlineu');// Table for online users info
define('C_MYSQL_ONLINE_QUESTS','pro_onlineq');// Table for online quests
define('C_MYSQL_TEMP','pro_temp');// Table for temporary info
?>

Die Spalten der Tabelle MYSQL_ONLINE_USERS'
sind: Time, User, Usertype, IP


WO IST MEIN FEHLER (Denkfehler oder Scriptfehler?)
 
Ich hab doch garkein Feld das Status heisst!
hab es jetzt mal so umgewandelt aber noch immer nicht!

Code:
<? 
$tmp = mysql_query("SELECT DISTINCT user FROM ".C_MYSQL_ONLINE_USERS) or die("Read Error<br>".mysql_error()); 
$row = mysql_fetch_array($tmp); 
$user=$row['user']; 

if($user) echo "Online"; 

else echo "Offline"; 
?>

Es nur Offline! Egal ob der User on oder offline is! Wie muss dass script geändert werden damit es funktioniert? Daten stehen ja alle oben!
 
Hm, vielleicht steig ich da jetzt auch net ganz durch, aber in deiner SQL-Abfrage liest du die ganze Spalte User aus. Also wäre das nen Array. Aber so wie das bei dir da im Moment dasteht hast du nur den letzten User in $user. Daher würde auch nur ein User als online angezeigt.

Mach doch die SQL-Abfrage mit einer WHERE-Bedingung.
PHP:
$tmp = mysql_query("SELECT DISTINCT user FROM ".C_MYSQL_ONLINE_USERS." WHERE user = '".$usernickdesprofils) or die("Read Error<br>".mysql_error());
Wenn das Feld dann nicht leer ist, ist der user on, falls es leer ist eben off.
PHP:
$row = mysql_fetch_array($tmp); 
$user=$row['user']; 
if(!empty($user)) echo "online";
else echo "offline";
Falls ich komplet am Problem vorbei bin, tuts mir leid, aber ich bin heute nicht sonderlich fit.
 
Zurück