[FlyFF] Homepage UserOnline

08/07/2011 19:03 Pumba[GM]#1
Hallo FlyFF'ler,

Ich habe ein Problem auf meiner Homepage ich habe schon hunderte beiträge gelesen aber das Problem ist immernoch da man sieht nicht wie viele UserOnline sind da steht z.B 0 userOnline obwohl ich Online bin oder dann steht manchmal 16 userOnline obwohl ich Online bin.

Also so sieht es bei mir in der config aus:


Hilfe bitte.

mfg. Pumba[GM]
08/07/2011 19:10 Cryption#2
Anstatt für jeden kleinen Pipifax nen Thread zu erstellen schau dich mal im Index um..

So können wir dir ja gleich einen Server & Homepage Coden ohne das du was machst -.-
08/07/2011 19:11 GriveNetwork#3
so muss das script aussehen:
PHP Code:

<?php
        $link 
= @mssql_connect("NAME-PC\SQLEXPRESS""sa""password") or die ("Server is down!");
        
$db = @mssql_select_db('ACCOUNT_DBF') or die ("Account table is missing!");
      
        
$query mssql_query("SELECT COUNT(m_szName) as UserOnline FROM ACCOUNT_TBL_DETAIL WHERE isuse = 'J' ");

$dt mssql_fetch_assoc($query);

echo 
$dt["UserOnline"];

?>
08/07/2011 19:16 Pumba[GM]#4
Quote:
Originally Posted by GriveNetwork View Post
so muss das script aussehen:
PHP Code:

<?php
        $link 
= @mssql_connect("NAME-PC\SQLEXPRESS""sa""password") or die ("Server is down!");
        
$db = @mssql_select_db('ACCOUNT_DBF') or die ("Account table is missing!");
      
        
$query mssql_query("SELECT COUNT(m_szName) as UserOnline FROM ACCOUNT_TBL_DETAIL WHERE isuse = 'J' ");

$dt mssql_fetch_assoc($query);

echo 
$dt["UserOnline"];

?>
Danke für deine antwort aber i-wie funktioniert das nid wirklich.

mfg. Pumba[GM]

Quote:
Originally Posted by Cryption View Post
Anstatt für jeden kleinen Pipifax nen Thread zu erstellen schau dich mal im Index um..

So können wir dir ja gleich einen Server & Homepage Coden ohne das du was machst -.-
Auf deine antwort hättest auch verzichten können da ich schon fast ich wiederhole fast alles durchgeguckt habe der beitrag von GriveNetwork war wesendlich ums 100fache besser als deiner!

mfg. Pumba[GM]
08/07/2011 19:29 GriveNetwork#5
mhh, also diesen hier hab ich grad selber getestet und funktioniert:

08/07/2011 19:46 Pumba[GM]#6
Quote:
Originally Posted by GriveNetwork View Post
mhh, also diesen hier hab ich grad selber getestet und funktioniert:


Hi Das ist es ja wie bei den anderen.

Ich bin alleine Online aber da steht User Online 5.
warum weiss ich aber nid das ist das problem^^.

aber thanks.

mfg. Pumba[GM]
08/07/2011 19:48 GriveNetwork#7
und in der datenbank hast du schon nachgeguckt ?
08/07/2011 19:50 Marv!n#8
Kurze Frage: Wieso fragt man die ACCOUNT_TBL_DETAIL ab, wenn es um die Charaktere geht? Liegt denn da nicht die CHARACTER_01_DBF nicht näher?

Kurzum, um die rhetorischen Fragen meinerseits zu beantworten: An dem Projekt, an dem ich mitwirkte, musste folgende Abfrage verwenden:

PHP Code:
<?php
    $link 
= @mssql_connect("BLOODY\SQLEXPRESS""sa""password") or die ("Die von dir angegebenen MSSQL-Daten stimmen nicht.");     
    
$db = @mssql_select_db('CHARACTER_01_DBF') or die ("Keine Zeilen / Spalten verfügbar."); 
    
$query mssql_query("SELECT MultiServer FROM [CHARACTER_TBL] WHERE MultiServer > 0");
    
$usersOnline =  mssql_num_rows($query);

    echo 
'Es sind insgesamt '.$usersOnline.' User online.';
?>
Kurze Erklärung: MultiServer = 0 besagt in der Regel, dass derjenige Charakter offline ist - jede andere Zahl gibt an, auf welchem Channel des Servers sich der Charakter befindet. Zumindest - ich betone und wiederhole - war es in meinem Fall so.

Außerdem noch ein Tipp: Jede Abfrage, bei der du SELECT * angibst, wird wirklich jede Zeile + Spalte ausgewählt. Deswegen vermeide nach Möglichkeit die Auswahl der ganzen Tabelle und wähle konkret die Spalten aus, die du wirklich benötigt. Wenn jedes mal die komplette Tabelle abgefragt wird, geht das massiv auf die Ladezeit der Homepage - zumindest bei großen Tabellen, die viele Spalten haben, wie beispielsweise der [CHARACTER_TBL].
08/07/2011 19:52 Kurosaki'#9
Alle Fail Beiträge (:
So sollte dein Online Script aussehen:
PHP Code:
 <table id="servern">
<tr>
<?php
$link 
= @mssql_connect("***PC\SQLEXPRESS""sa""****") or die ("Error!");
$db = @mssql_select_db('CHARACTER_01_DBF') or die ("Error in MSSQL");
$query mssql_query('SELECT * FROM [CHARACTER_TBL] WHERE Multiserver = "1"');
$usersOnline mssql_num_rows($query);
echo 
'<b>User Online:</b></font><font color=white><b> ' $usersOnline;

?>
08/07/2011 20:01 Pumba[GM]#10
Endlich ich hätte nähmlich das mit UserOnline schonmal und das hatt geklappt nur dann war pc am arsch und der Freak hats gelöscht da ich nimmer wusste wie das ging aber danke euch allen wo mir so schnell geholfen haben.

mfg. Pumba[GM]
08/07/2011 20:03 Pumbaaa#11
Eher du failst, Multiserver kann auch 2 sein, wenn du 2 Channel hast, also > 0...
08/07/2011 20:20 Kurosaki'#12
Quote:
Originally Posted by Pumbaaa View Post
Eher du failst, Multiserver kann auch 2 sein, wenn du 2 Channel hast, also > 0...
Ich lass mich nicht von dir Provizieren. (;
Von Daher ignorier ich mal dein Beitrag <:
@ Pumba[GM]
Du kannst auch Multi Server 1 benutzen da ich das auch habe, und es funktioniert hat. (:

edit: Da die antwort nun rausgekommen ist, sag ich mal:

#Closerequest. :3
08/07/2011 20:31 Marv!n#13
Quote:
Originally Posted by Xxl3lubbs View Post
[...]
Kurze Erklärung: MultiServer = 0 besagt in der Regel, dass derjenige Charakter offline ist - jede andere Zahl gibt an, auf welchem Channel des Servers sich der Charakter befindet. Zumindest - ich betone und wiederhole - war es in meinem Fall so.
[...]
Ergänzung: MultiServer = 1 ist praktisch der "Standart"-Channel, sodass ihr beide Recht habt. :)



Unterstützendes #Closerequest, da das Problem gelöst worden ist.