Werte aus Datenbank laden

Luna1000

Mitglied
Aaaaalso,

in meiner Flashanwendung kann man durch Rumklicken verschieden Animationen ausführen, z.B Rollo hoch und runter.
Beim starten der Anwendung werden die Werte einer Tabelle aus einer Datenbank geladen, die dann die Zustände von Rolläden usw setzen.
Wenn jetzt ein Zustand durch Klicken geändert wird, wird der Wert zurück an die Datenbank geschickt.

Ich habe zur Kontrolle, ob die Werte aus der DB richtig geladen werden, dynamische Textfelder angelegt, die mir den jeweiligen Wert anzeigen.
Das senden und schreiben der Werte in die DB klappt.
Das Laden denke ich klappt eigentlich auch, zumindest werden die richtigen Werte, die geladen werden in den dynamischen Textfeldern angezeigt.
Aber.. die Zustände der Rolläden ändern sich nicht in die richtige Position. In meinem Textfeld steht also "on" aber der Rolladen ist geschlossen



erster Frame:
Code:
function geladen(status) {
  if (status && this.loaded) {
	   _level0.tf0.text = lv.id0;	//load Variablen in Textfelder schreiben
	   ........
 }
};

_global.lv = new LoadVars();

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




2.Frame
Code:
if(lv.id0 == "on") _root._rolloAuf = true;		//setzen der Rollos an Position
.........


Beim Anklicken vom Rollo (das selbe auch für off)
Code:
lv.id0 = "on";
_level0.tf0.text = lv.id0;

	function weitermachen(erfolgreich){
		if (erfolgreich && this.loaded) {
			play();
		}
	}
	
	lv.onLoad = weitermachen;
	lv.sendAndLoad("http://www..../....php", lv, "POST");


Kann jemand was dazu sagen und hat eine Idee, wie es klappt. Wäre super.

Danke schön
 
Hi,

wann und wie springst Du von Frame 1 zu Frame 2? Wenn Du das nämlich tust, bevor die Methode LoadVars.onLoad aufgerufen wurde, ist in Frame 2 die Variable "lv.id0" u.U. noch gar nicht gesetzt.

Gruß
.
 
Hm, direkt hier nach

Code:
function geladen(status) {
  if (status && this.loaded) {
	   _level0.tf0.text = lv.id0;	//load Variablen in Textfelder schreiben
	   ........
 }
};

_global.lv = new LoadVars();

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

mit play();

Aber wieso sind die richtigen Werte denn dann schon in den Textfelden?
 
Hi,

die Textfeldinhalte werden ja in der Funktion LoadVars.onLoad gesetzt - bloß, dass diese Funktion aufgerufen wird, wenn Du schon in Frame 2 bist ... ;)

Probier mal, die play-Aktion in die onLoad-Funktion zu setzen (sprich: erst weiterzugehen, wenn das LoadVars-Objekt geladen ist). Ansonsten poste bitte Deine aktuellen Dateien, damit ich mich auf Fehlersuche begeben kann.

Gruß
.
 
hatte jetzt noch eine kleine funktion geschrieben, die erst weiterspielt wenn die Vars geladen sind. Aber so is natürlich schlauer :)
 
Zurück