FlyFF Server Peak Function [Code Problem]

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • FlyFF Server Peak Function [Code Problem]

    hallo,
    mich plagt das problem bei meiner Hompage das Serverpeak-Abfragen nicht funktioniert.
    Ich möchte es direkt via Query machen.

    Ich habe soviel erfahren das es daran liegt das die hp "num_row" nutzt und so nur nur die spalten zähl und weil es top 1 is gibt es nur 1
    spalte also zeigt der 1 an.

    Mein script:

    PHP-Quellcode

    1. public function peak(){
    2. self::$db->select_db("LOGGING_01");
    3. $query = self::$db->query("SELECT TOP 1 number FROM [LOG_USER_CNT_TBL] ORDER BY [number] DESC");
    4. return self::$db->num($query);
    5. }
    Laut Tino müsste die abfrage, das sie funktioniert, aber volgendermaßen lauten:

    PHP-Quellcode

    1. $query = mssql_fetch_array(mssql_query("SELECT TOP 1 number FROM [LOG_USER_CNT_TBL] ORDER BY [number] DESC"));
    Die Function num($query) aus der functions_mssql.php

    PHP-Quellcode

    1. public static function num($query){
    2. $num = self::$config['type'].'_num_rows';
    3. if(self::$connected){
    4. return $num($query);
    5. }
    6. return false;
    7. }


    mfg
    cross
  • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

  • Probier mal die von mir/bzw. vergleich sie.;)

    <?php

    $link = @mssql_connect("****\SQLEXPRESS", "sa", "*****") or die ("Error!");
    $db = @mssql_select_db('LOGGING_01_DBF') or die ("Error!");
    $query = mssql_fetch_array(mssql_query("SELECT TOP 1 number FROM LOG_USER_CNT_TBL ORDER BY number DESC"));
    $peak = $query[0];
    echo 'Server Peak: ' . $peak;
    ?>
  • [FONT="Tahoma"][COLOR="LemonChiffon"][SIZE="2"]

    Dancex3;124386 schrieb:

    Probier mal die von mir/bzw. vergleich sie.;)

    Hi,
    nett, aber dieses script würde nicht das machen wofür die HP gecoded ist.

    Die Homepage arbeitet, nach der query, mit peak() weiter [das ganze wird dann letztenendes in der serveroverview.tpl ausgegeben.

    Die Connection zur db funzt auch, da er ja "1" ausgiebt.
    Es kann also eigentlich nur an der "falschen auswertung" liegen (er zählt 1 Spalte-> giebt 1 aus)

    (klar, dein script funzt, doch wenn ich das bei mir einbaue verheddert sich es beim connecion zur db.)

    mfg[/SIZE][/COLOR][/FONT]
  • Cross;124581 schrieb:

    [FONT="Tahoma"][COLOR="LemonChiffon"][SIZE="2"]
    Hi,
    nett, aber dieses script würde nicht das machen wofür die HP gecoded ist.

    Die Homepage arbeitet, nach der query, mit peak() weiter [das ganze wird dann letztenendes in der serveroverview.tpl ausgegeben.

    Die Connection zur db funzt auch, da er ja "1" ausgiebt.
    Es kann also eigentlich nur an der "falschen auswertung" liegen (er zählt 1 Spalte-> giebt 1 aus)

    (klar, dein script funzt, doch wenn ich das bei mir einbaue verheddert sich es beim connecion zur db.)

    mfg[/SIZE][/COLOR][/FONT]


    vergleich einfach mal eure beiden Querys, fällt dir da was auf?
  • du hast dir deine frage doch schon selbst beantwortet. du fetchst zwar exakt die row, die die infos beinhaltet, die du haben willst, aber mit deinem aufruf von num lässt du dir nur die anzahl der zurückgelieferten rows ausgeben.
  • [FONT="Tahoma"][COLOR="LemonChiffon"][SIZE="2"]

    Kurai;126013 schrieb:

    du hast dir deine frage doch schon selbst beantwortet. du fetchst zwar exakt die row, die die infos beinhaltet, die du haben willst, aber mit deinem aufruf von num lässt du dir nur die anzahl der zurückgelieferten rows ausgeben.


    Hi,
    ich muss wohl noch etwas sagen^^:
    Ich bin nicht DER php "Crack" der alles weis, so basics hab ich aber das wars xD
    Genau aus dem Grund frag ich ja nach, da hier hilfsbereite User sind, die ihr Fach beherschen :)

    Wenn ich den teil mit num($query) entferne, kommt garnix, es wird nichts angezeigt :o

    mfg[/SIZE][/COLOR][/FONT]
  • da keiner weiß, welche datenbank klasse du benutzt kann dir auch keiner ne funktion für dich schreiben.
    statt num($query) brauchst du nen call nach fetch: $data = fetch($query);
    return $data[0];

    das ist wie gesagt nur pseudocode, da ich keine ahnung habe, welche datenbank extension du benutzt.
  • Wer hat denn die MSSQL-Klasse gecodet, schaut ziemlich gut aus aufn ersten Blick.

    @Kurai: Er hat die Daten doch noch gar nicht gefecht, da kann er auch keine Daten zurückgeben soweit ich das sehe.

    Außerdem holst du dir doch eh nur einen Datensatz und wenns der erste is, dann brauchste auch kein Order By, nur wenn mehrere Datensätze unsortiert drin stehen.
    Ich lass in folgendem Beispiel das Order by einfach weg.

    Achja, außerdem weiß ich nicht ob die Klasse ne fetching methode hat, deshalb benutz ich nur mal die PHP Funktion dafür, falls ihr ne Fetching Methode habt solltet ihr diese benutzen.

    PHP-Quellcode

    1. public function peak(){
    2. self::$db->select_db("LOGGING_01");
    3. $query = self::$db->query("SELECT TOP 1 number FROM [LOG_USER_CNT_TBL]");
    4. $data = mssql_fetch_row($query);
    5. return $data[0];
    6. }


    Ich benutze fetch_row selten daher kenn ich die genaue Struktur nicht. Naja Probiers einfach mal aus. Ansonsten lass uns mal die ganze Klasse sehen, da können wir eher was machen.

    ~Lunatic
  • [FONT="Tahoma"][COLOR="LemonChiffon"][SIZE="2"]

    Lunatic;127119 schrieb:

    Wer hat denn die MSSQL-Klasse gecodet, schaut ziemlich gut aus aufn ersten Blick.

    @Kurai: Er hat die Daten doch noch gar nicht gefecht, da kann er auch keine Daten zurückgeben soweit ich das sehe.

    Außerdem holst du dir doch eh nur einen Datensatz und wenns der erste is, dann brauchste auch kein Order By, nur wenn mehrere Datensätze unsortiert drin stehen.
    Ich lass in folgendem Beispiel das Order by einfach weg.

    Achja, außerdem weiß ich nicht ob die Klasse ne fetching methode hat, deshalb benutz ich nur mal die PHP Funktion dafür, falls ihr ne Fetching Methode habt solltet ihr diese benutzen.

    PHP-Quellcode

    1. public function peak(){
    2. self::$db->select_db("LOGGING_01");
    3. $query = self::$db->query("SELECT TOP 1 number FROM [LOG_USER_CNT_TBL]");
    4. $data = mssql_fetch_row($query);
    5. return $data[0];
    6. }
    Ich benutze fetch_row selten daher kenn ich die genaue Struktur nicht. Naja Probiers einfach mal aus. Ansonsten lass uns mal die ganze Klasse sehen, da können wir eher was machen.

    ~Lunatic

    Hallo,
    ich hab deine function auspürobiert, da gab er null aus.
    Dann hab ich die function zu:

    PHP-Quellcode

    1. public function peak(){
    2. self::$db->select_db("LOGGING_01");
    3. $query = self::$db->query("SELECT TOP 1 number FROM [LOG_USER_CNT_TBL] ORDER BY [number] DESC");
    4. $data = mssql_fetch_row($query);
    5. return $data[0];
    6. }

    (also "ORDER BY [number] DESC" geadded") erweitert, und er giebt den Peak aus :D
    Vielen dank, das war so der punkt wo ich echt verzweifelt bin :)
    Eternity - News
    Könnt ihrs auch live sehn^^ -> Vorher gab er 0 oder nix aus. nun "33" :D

    mfg[/SIZE][/COLOR][/FONT]