setInterval - Werte aus DB immer wieder aktualisieren

Luna1000

Mitglied
N'Abend,

ich lade aus einer Datenbank Werte. Folgendes steht im ersten Frame. Im zweiten werden dann die Bilder und Anis angezeigt.

Code:
function geladen(status) {
  if (status && this.loaded) {
	  
	   _level0.tf0.text = lv.id0;
           ....
           ...
play();
  }
}

_global.lv = new LoadVars();

lv.onLoad = geladen;
lv.load("http://www....update.php",lv, "POST");
stop();

so weit so gut.
Jetzt möchte ich, dass die Daten alle paar Sekunden/ Minuten aktualisiert werden.
Das kann ich ja mit setInterval machen. Ich dachte, ich kann das direkt beim Laden der Variablen hinschreiben. Allerdings klappt es nicht.

Code:
setInterval(lv.load("http://www...update.php",lv,"POST"),1000);

Ist das Quatsch oder stehts an der falschen Stelle
 
wie soll setInterval aufgerufen werden wenn er im 2. Frame steht
geh einfach via setInterval auf 1 zurueuck
oder arbeite es generell alles in ein Frame ab..
 
Hi,

entweder:
Code:
var iv = setInterval(function() { lv.load("http://www....update.php"); }, 1000);

oder
Code:
var iv = setInterval(this, "datenLaden", 1000);

function datenLaden() {
    lv.load("http://www....update.php");
}

Zusatz: Beachte, dass die load-Methode des LoadVars-Objekts höchstens zwei Parameter (URL und Methode) verlangt; Du verwendest die Syntax der LoadVars.sendAndLoad-Methode mit der load-Methode.

Gruß
.
 
Jetzt bin ich doch noch mal auf eure Hilfe angewiesen.
So weit klappt es, dass die geänderten Werte aus der Datenbank abgerufen werden.
Allerdings springt meine Flash-Anwenung jetzt immer jede Sekunde durch meine 3 Szenen durch.

1. Szene, 1. Frame
Werte werden geladen

1. Szene, 2. Frame
Aktualisierung der DB-Werte
Zustände der Geräte werden gesetzt - hoch oder runter

2. Szene und 3.Szene
sind die anderen Ansichten

Was kann ich denn dagegen tun, dass nicht alle Szenen durchlaufen werden?
Ohne die Aktualisierungsfunktion pasiert das nicht.
 
Hi,

wenn Deine Anwendung durch alle Szenen "springt", wird irgendwo Code vorhanden sein, der dafür sorgt. Ohne Einsicht in den Code werden wir Dir nicht helfen können.

Generell sind Szenen und dynamische Anwendungen zwei Konzepte, die nach Möglichkeit nicht kombiniert werden sollten (ich habe in meinen Leben noch keinen Szenenwechsel erstellt und bin glücklich damit ;)).

Gruß
.
 
das sind ja tolle aussichten :)

also den ganzen code kann ich nicht posten, denn die Datei ist zu groß.

1. Frame
wie am Anfang vom Beitrag bereits gepostet

2. Frame

Code:
// von Tobias übernommen 
var iv = setInterval(this,"datenLaden", 10000);
function datenLaden() {
   lv.load("http://www....update.php");

   if(lv.id0 == "on") _root._rolloSchlafAn = true;	
   if(lv.id1 == "on") _root._rolloKinderAn = true; 
   if(lv.id2 == "on") _root._rolloEssAn = true; 
   ...
}


zu den anderen Szenen kann man nur wechseln wenn man auf Buttons klickt.
Also irgendwie muss doch in der Funktion datenLaden ein stop oder goto rein, oder? Aber alle Versuche sind ohne Erfolg.
Wahrscheinlich hilft das bißchen Code auch nicht weiter, um was dazu zu sagen, oder
 
Hi,

ich verstehe erhlich gesagt nicht, was Dein Problem ist, und was Du erreichen willst. Wo und warum willst Du irgendwo ein "goto" einfügen?

Die Funktion "datenLaden" ist insofern fehlerhaft, als Dass Du erst darauf warten musst, bis das LoadVars-Objekt geladen ist, bevor Du auf seine Member zugreifen kannst. Schau Dir dazu mal die Methode "LoadVars.onLoad" an.

Gruß
.
 

Neue Beiträge

Zurück