Ergebnis 1 bis 3 von 3

Thema: Problem mit Cronjob Datei

  1. #1
    HTML Newbie
    Registriert seit
    26.01.2012
    Beiträge
    1
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Problem mit Cronjob Datei

    Hallo ich hab ein Onlinespiel und möchte dafür ein Cronjob erstellen, der für das TEAM die durchschnittstärke der 15 besten SPieler im Team berechnet.
    Nur leider nimmt er immer alle spieler des SPiels ins visier.
    Bedeutet das Limit 15 berücksichtigt er nicht...

    Zur Erklärung:

    ds = Spieler Stärke
    dstaerke = soll die durchnittstärke des Teams sein von den besten 15 Spielern


    Hat wer nen rat?

    PHP-Code:
    <?
    require("../global.inc.php");

    $timestamp time();
    $timestamp2 $timestamp+43200;

    // Durchnittsstärke der Vereine im Datenfeld der Tabelle Vereine "dstaerke"

    $result mysql_query("SELECT * FROM "$conf['db_prefix'] ."_verein order by id");
    $i=1;
    while (
    $row mysql_fetch_array($result)) {
    //DStaerke

    $res mysql_query("SELECT AVG(ds) FROM ".$conf['db_prefix']."_spieler WHERE verein_id='".$row['id']."' ORDER BY ds DESC LIMIT 15");
    $strk mysql_fetch_array($res);
    mysql_free_result($res);



    $dstaerke $strk['AVG(ds)'];
    $dstaerke round($dstaerke,2);


    mysql_query("UPDATE ".$conf['db_prefix']."_verein SET
    dstaerke='"
    .$dstaerke."'
    WHERE id = '"
    .$row['id']."'
    "
    );
    echo 
    dstaerke;
    $i++;
    }
    mysql_free_result($result);
    ?>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Bandit
    Gast

    Standard AW: Problem mit Cronjob Datei

    Wozu brauchst du $i? Und achte mal auf deine while-Schleife, die geht ja auch alles durch. Dort, wo du ein Limit einsetzt, ist das völliger Quatsch, da du immer nur einen Treffer aus der DB holst.

    Richtig debuggen


    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysql_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

  3. #3
    Großmeister(in)
    Registriert seit
    09.12.2008
    Ort
    Berlin
    Alter
    38
    Beiträge
    666
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: Problem mit Cronjob Datei

    Zitat Zitat von Bandit Beitrag anzeigen
    Dort, wo du ein Limit einsetzt, ist das völliger Quatsch, da du immer nur einen Treffer aus der DB holst.
    This.
    Die Abfrage müsste etwa so aussehen (unter der Prämisse, dass der Primary Key deiner spieler-Tabelle `id` heißt, ansonsten halt anpassen):
    PHP-Code:

    $sql 
    "
      SELECT
         AVG(ds)
       FROM
         "
    .$conf['db_prefix']."_spieler
       WHERE
         id IN( SELECT id FROM "
    .$conf['db_prefix']."_spieler WHERE verein_id='".$row['id']."' ORDER BY ds DESC LIMIT 15 )";
    $res mysql_query($sql); 
    Edit: Etwas nervig, dass bei allem was ich aus Netbeans hier reinpaste die Zeilenumbrüche entfernt werden...
    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

Ähnliche Themen

  1. Cronjob alte Daten löschen
    Von Sean-John im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 07.10.2009, 14:24
  2. Cronjob Zeichen GET Variable
    Von Darkxor im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 07.07.2009, 20:57
  3. Cronjob mit PHP
    Von Unregistriert im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 8
    Letzter Beitrag: 05.09.2008, 18:20
  4. Per zufall ein Bild anzeigen mit Cronjob
    Von Rosiv im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 33
    Letzter Beitrag: 02.12.2006, 02:28
  5. Cronjob
    Von User im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 24.10.2004, 18:41

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •