Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Aktualisierung

Einklappen

Neue Werbung 2019

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

  • Problem mit Aktualisierung

    Hi zusammen

    Ich hab ein Problem und kann mir absolut nicht erklären woran es liegen könnte.

    Ich habe eine simple Ressourcen Aktualisierung mit jquery und ajax gebaut, 1 der 3 Rohstoffe wird auch vernünftig aktualisiert aber die anderen beiden garnicht obwohl der Aufbau komplett identisch ist, nur die Werte der zu aktualisierenden Rohstoffe wurde verändert.

    Ich weiß nicht ob ihr mir erklären könnt woran das liegt aber werde mal Auszüge aus den scripten posten.

    JQuery / Ajax

    Code:
    function getLehmGesamt(){
    
        $(document).ready(function(){
    
            var timeout = 1000;
    
            $.ajax({
    
                type: "GET",
                url: "js/php/ressourcen/lehm_gesamt.php"
    
            }).done(function(result){
    
                $("#lehm_gesamt").html(result);
                window.setTimeout("getLehmGesamt()", timeout);
            });
        });
    
    }getLehmGesamt();
    
    function getHolzGesamt(){
    
        $(document).ready(function(){
    
            var timeout = 1000;
    
            $.ajax({
    
                type: "GET",
                url: "js/php/ressourcen/holz_gesamt.php"
    
            }).done(function(result){
    
                $("#holz_gesamt").html(result);
                window.setTimeout("getHolzGesamt()", timeout);
            });
        });
    
    }getHolzGesamt();
    Lehm Script das von Ajax geladen wird

    PHP-Code:
    session_start();

    require_once 
    "../../../libs/BenutzerSession.php";
    require_once 
    "../../../libs/Ressourcen.php";

    $benutzer_session = new BenutzerSession();

    $lehm = new Lehmgrube_Tick($benutzer_session->getBenutzerSessionName());
    $lehm->getLehmGesamt(); 
    Holz Script das von Ajax geladen wird

    PHP-Code:
    session_start();

    require_once 
    "../../../libs/BenutzerSession.php";
    require_once 
    "../../../libs/Ressourcen.php";

    $benutzer_session = new BenutzerSession();

    $holz = new Holzfarm_Tick($benutzer_session->getBenutzerSessionName());
    $holz->getHolzGesamt(); 
    Ressourcen Klasse

    PHP-Code:
    ////////////////////////////////////////////////////////////////////////////////
    /*                              LEHMGRUBE                         */
    ////////////////////////////////////////////////////////////////////////////////

    class Lehmgrube_Tick extends Ressourcen{

        public function 
    __construct($user_name) {
            
    parent::__construct($user_name);

            
    $this->user_name $user_name;

            
    $this->initLehmgrube();
        }

        private function 
    initLehmgrube(){

            
    $this->gebaeude_name "Lehmgrube";

            
    $this->pow_base 2;
            
    $this->pow_exp 5;

            
    $this->ressourcenGebaeudeMaxStufe($this->gebaeude_name);
            
    $this->ressourcenProduktionProStunde($this->gebaeude_stufe);
        }

        public function 
    getLehmTickProStunde(){
            return 
    htmlspecialchars($this->ress_tick_pro_stunde);
        }

        public function 
    getLehmGesamt(){

            
    $db = new Datenbank();

            
    $sql "SELECT `lehm_gesamt`, `letzter_tick_lehm` FROM `ressourcen` WHERE `user_name` = ?";

            
    $stmt $db->db->prepare($sql);
            
    $stmt->bind_param("s"$this->user_name);
            
    $stmt->execute();
            
    $stmt->bind_result($this->lehm_gesamt$this->letzter_tick);
            
    $stmt->fetch();
            
    $stmt->close();

            
    $timestamp_db strtotime($this->letzter_tick);
            
    $timestamp_now time();
            
    $time_diff $timestamp_now $timestamp_db;

            
    $this->ress_tick_pro_sekunde $time_diff * ($this->ress_tick_pro_stunde 3600);
            
    $this->lehm_gesamt $this->lehm_gesamt $this->ress_tick_pro_sekunde;

            
    $dateTime_now date("Y.m.d H:i:s");

            
    $sql "UPDATE `ressourcen` SET `lehm_gesamt` = ?, `letzter_tick_lehm` = ? WHERE `user_name` = ?";

            
    $stmt $db->db->prepare($sql);
            
    $stmt->bind_param("dss"$this->lehm_gesamt$dateTime_now$this->user_name);
            
    $stmt->execute();
            
    $stmt->close();

            
    $db->db->close();

            echo 
    intval($this->lehm_gesamt);
        }
    }




    ////////////////////////////////////////////////////////////////////////////////
    /*                              HOLZFARM                            */
    ////////////////////////////////////////////////////////////////////////////////

    class Holzfarm_Tick extends Ressourcen{

        public function 
    __construct($user_name) {
            
    parent::__construct($user_name);

            
    $this->user_name $user_name;

            
    $this->initHolzfarm();
        }

        private function 
    initHolzfarm(){

            
    $this->gebaeude_name "Holzfarm";

            
    $this->pow_base 2;
            
    $this->pow_exp 5;

            
    $this->ressourcenGebaeudeMaxStufe($this->gebaeude_name);
            
    $this->ressourcenProduktionProStunde($this->gebaeude_stufe);
        }

        public function 
    getHolzTickProStunde(){
            return 
    htmlspecialchars($this->ress_tick_pro_stunde);
        }

        public function 
    getHolzGesamt(){

            
    $db = new Datenbank();


            
    $sql "SELECT `holz_gesamt`, `letzter_tick_holz` FROM `ressourcen` WHERE `user_name` = ?";

            
    $stmt $db->db->prepare($sql);
            
    $stmt->bind_param("s"$this->user_name);
            
    $stmt->execute();
            
    $stmt->bind_result($this->holz_gesamt$this->letzter_tick);
            
    $stmt->fetch();
            
    $stmt->close();

            
    $timestamp_db strtotime($this->letzter_tick);
            
    $timestamp_now time();
            
    $time_diff $timestamp_now $timestamp_db;

            
    $this->ress_tick_pro_sekunde $time_diff * ($this->ress_tick_pro_stunde 3600);
            
    $this->holz_gesamt $this->holz_gesamt $this->ress_tick_pro_sekunde;

            
    $dateTime_now date("Y.m.d H:i:s");

            
    $sql "UPDATE `ressourcen` SET `holz_gesamt` = ?, `letzter_tick_holz` = ? WHERE `user_name` = ?";

            
    $stmt $db->db->prepare($sql);
            
    $stmt->bind_param("dss"$this->holz_gesamt$dateTime_now$this->user_name);
            
    $stmt->execute();
            
    $stmt->close();

            
    $db->db->close();

            echo 
    intval($this->holz_gesamt);
        }

    Die Rohstoffe aus der Lehmgrube werden aktualisiert aber aus der Holzfarm garnicht obwohl sämtliche Werte die ich über var_dump geprüft habe, stimmen nur ausser der letzter_tick_holz wird in der Datenbank nix weiter von der Holzfarm aktualisiert und ich hab kein Plan warum, da alles identich ist.

    Ka ob sich hier wer zurecht findet und mir eventuell sagen kann, weshalb das nur für eine Rohstoff Art funktioniert.

    LG

    Ascalon

  • #2
    ich bin ein trottel xD . war gestern wohl zu lange dran und hab in der db nur lehm_gesamt als double gesetzt und die anderen beiden waren auf int, kein wunder das es nicht funktionieren kann.

    jetzt scheint es auch zu funktionieren. fehler suche kann echt lästig sein ^^

    Kommentar

    Lädt...
    X