CLASS & While

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CLASS & While

    Hi Leute!
    Wieder mal ein Problem das mich wach hält und wie immer wende ich mich an euch.

    Das Ganze sieht so aus:
    PHP-Code:
    $sql "SELECT server_ip, server_port FROM table";
    $result mysql_query($sql) or die(mysql_error());
    while (
    $Server=mysql_fetch_assoc($result)) {

    $ServerInfo '';
    $ServerIP $Server['server_ip'];
    $ServerPort $Server['server_port'];

    $rulm "SELECT realm, servername, query FROM table WHERE udpstart <= $ServerPort AND udpend >= $ServerPort LIMIT 1";
    $ergeb mysql_query($rulm) or die(mysql_error());
    $Realm mysql_fetch_assoc($ergeb);
    $ServerRealm $Realm['realm'];
    $ServerName $Realm['servername'];
    $ServerQuery $Realm['query'];

    $cyts = new cyts();
    $cyts->connect("$ServerIP"$ServerQuery$ServerPort);
    $ServerInfo $cyts->info_serverInfo();
    $cyts->disconnect();

    if (
    $ServerInfo) {
    $BytesReceived $ServerInfo['server_bytesreceived'];
    $BytesSend $ServerInfo['server_bytessend'];
    } else {
    $BytesReceived 'FOO';
    $BytesSend 'BAR';
    }

    echo 
    '<B>Serverinfo:</B><BR>';
    echo 
    '---------------------<BR><BR>';
    echo 
    'Port: '.$ServerPort.'<BR>';
    // echo 'Query: '.$ServerQuery.'<BR>';
    echo 'Server: '.$ServerName.' - '.$ServerIP.'<BR>';
    echo 
    'Realm: '.$ServerRealm.'<BR><BR>';

    echo 
    'Empfangen: '.$BytesReceived.'<BR>';
    echo 
    'Gesendet: '.$BytesSend.'<BR><BR>';

    echo 
    '@'.$now;
    echo 
    '<BR><BR><BR><BR><BR>';
    $count++;
    }

    echo 
    $count
    Die Schleife an sich wird ja ausgeführt und auch die DBabfragen funzen, jedoch wird die funktion der $cyts nur beim Ersten Durchlauf der while-Schleife ausgeführt!

    Siehe: Script @Work

    Jmd. ne Idee?
    Zuletzt geändert von nichtsooft; 01.12.2006, 17:00.
    WHILE (!$asleep) { $sheep++; }

  • #2
    mach mal error_reporting(E_ALL); rein
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      Nur der Standard mit den nicht vordefinierten variablen...
      WHILE (!$asleep) { $sheep++; }

      Kommentar


      • #4
        Mach doch einmal debugging bei der cyts-Klasse. Lass jede Methode grundsätzlich was per echo ausgeben und guck erstmal, ob die überhaupt aufgerufen werden.
        Sunshine CMS
        BannerAdManagement
        Borlabs - because we make IT easier
        Formulargenerator [color=red]Neu![/color]
        Herkunftsstatistik [color=red]Neu![/color]

        Kommentar


        • #5
          nun ja; Die class funktioniert ja; sonst würde ich beim ersten Durchlauf der while ja keine Daten raus bekommen!
          WHILE (!$asleep) { $sheep++; }

          Kommentar


          • #6
            ja aber $ServerInfo = $cyts->info_serverInfo(); scheint nicht zu funktionieren
            Sunshine CMS
            BannerAdManagement
            Borlabs - because we make IT easier
            Formulargenerator [color=red]Neu![/color]
            Herkunftsstatistik [color=red]Neu![/color]

            Kommentar


            • #7
              Wieso? Gerade aus der function beziehe ich doch $BytesReceived und $BytesSend, die beim ersten durchlauf auch ausgelesen werden!

              Gibt's irgendwelche Grundregeln bezüglich der mehrfachen Ausführung einer class->function!?
              WHILE (!$asleep) { $sheep++; }

              Kommentar


              • #8
                info_serverInfo(); nimm die methode und prüf doch mal, ob da drin irgendwas passiert, lass dir darin alles per echo ausgeben!
                Sunshine CMS
                BannerAdManagement
                Borlabs - because we make IT easier
                Formulargenerator [color=red]Neu![/color]
                Herkunftsstatistik [color=red]Neu![/color]

                Kommentar


                • #9
                  Hi,

                  PHP-Code:
                  $cyts = new cyts
                  Da fehlen doch die Klammern des Konstruktors.

                  Gruß Thomas

                  Kommentar


                  • #10
                    Nö; Mit und ohne Klammern macht hier keinen Unterschied.
                    WHILE (!$asleep) { $sheep++; }

                    Kommentar


                    • #11
                      Die gehören aber dahin, genau so wie die Anführungszeichen um die ganzen Array Schlüssel, die du vergessen hast.

                      Wie sieht denn die Klasse aus?

                      Kommentar


                      • #12
                        Anführungszeichen hab isch hon hinzugefügt!

                        Die class stell ich mal lieber als Link zur verfügung, weil die ziemlich groß ist.
                        Class: Link (Ziel spreichern unter...)
                        WHILE (!$asleep) { $sheep++; }

                        Kommentar


                        • #13
                          ...
                          [COLOR=red]$ServerInfo = '';[/COLOR]
                          $ServerIP = $Server['server_ip'];
                          $ServerPort = $Server['server_port'];

                          $rulm = "SELECT realm, servername, query FROM table WHERE udpstart <= $ServerPort AND udpend >= $ServerPort LIMIT 1";
                          $ergeb = mysql_query($rulm) or die(mysql_error());
                          $Realm = mysql_fetch_assoc($ergeb);
                          $ServerRealm = $Realm['realm'];
                          $ServerName = $Realm['servername'];
                          $ServerQuery = $Realm['query'];

                          $cyts = new cyts();
                          $cyts->connect("$ServerIP", $ServerQuery, $ServerPort);
                          [COLOR=red]$ServerInfo = $cyts->info_serverInfo();[/COLOR]
                          ...
                          das passt nicht!

                          mach mal so:
                          $ServerInfo = array();

                          Kommentar


                          • #14
                            Danke asp!

                            Leider auch kein erfolg; Klappt nach wie vor nur beim 1. Durchlauf!
                            WHILE (!$asleep) { $sheep++; }

                            Kommentar

                            Lädt...
                            X