php[array]->flash[array]

TeCe

Erfahrenes Mitglied
hallööö...ich glaub ich hatte schonmal gefragt...aber bei der suche hab ich mich nich mehr wiedergefunden und meine Frage ist immer noch die gleiche...
Aaaaalso...ich hab´ne myqsl-Datenbank in der zig-Bilder stehen...hab´n php script das mir alle bilder ausgibt: &index=7&bild1=bla.jpg&bild2=blupp.jpg&......&bild7=siebtesbild.jpg und so weiter...flash bekommt die Variable per loadVariables();
So weit so gut...
In flash habe ich´nen Film, der bei klickAufBild das nächste laden soll. Also
PHP:
if(_root.klick = 1) {
   if(counter<_root.index) {
      counter++;
   }else{
      counter = 1;
   }
   _root.picture.loadMovie("bild"+counter);
   _root.klick = "0";
}
So...aber flash rafft nich das "bild"+counter eine Variable ist, worin der Bildname enthalten ist, das er Laden soll...hab auch schon probiert lade = "bild"+counter; zu setzen und dann _root.picture.loadMovie(lade); zu machen....flash rafft´s nich...also dachte ich mir...ich mach´s mit arrays, wie´s mir jetz auch lieber is, weil ich weiß das es auch irgendwie geht :)
also lass ich PHP "&index=7&bilder=bild1.jpg#bild2.jpg#bild3.jpg#..." ausgeben...das ganze will ich dann per bilder=bilder.split("#"); in flash in ein Array umwandeln...aber selbtst das will nich...

...und meine jetzige Lösung, bei klick erstmal über php abzufragen wie das nächste bild heißt und es dann zu laden, is mir etwas zu lästig und vorallem lastig...


any ideas?
 
Zuletzt bearbeitet:
naaa??
Wieder mal Keiner eine Idee, wie man mir weiterhelfen kann?
Oder bin ich in irgendeiner auto-ignore-liste gelandet?
 
Original geschrieben von TeCe
PHP:
if(_root.klick = 1) {
   if(counter<_root.index) {
      counter++;
   }else{
      counter = 1;
   }
   _root.picture.loadMovie("bild"+counter);
   _root.klick = "0";
}

hm, hast du mal folgendes versucht:

PHP:
_root.picture.loadMovie(bild + counter);

bild is ja eine variable und nicht (wie in deinem script) ein string.

**edit**
kommando zurück, das geht leider auch nich :(
**edit**
 
Zuletzt bearbeitet:
wenn man in php/js den namen von einer variable dynamisch erzeugen will kommt eval() ins Spiel
zb. eval(bild+$counter;)
villeicht gibts sowas ja auch in flash? :)
 
so, ich habs jetzt :)

actionscript:

Code:
this.loadVariables("image.php"); 

onData = function() { 
   arr_img = images.split("#");
   
   textfeld_1 = arr_img[0];
   textfeld_2 = arr_img[1];
}

den code im ersten frame auf der root. dann jetzt noch fürs beispiel zwei textfelder, jeweils mit textfeld_1 und textfeld_2 als name.

php script:

PHP:
$bild1 = "bla1.jpg"; 
$bild2 = "blubb2.jpg"; 
echo "images=".$bild1."#".$bild2;

flash geht jetzt hin und trennt deinen string 'images' nach jedem '#'. und dann sollte in den beiden textfelder jeweils der name des bildes auftauchen. wichtig hierbei ist aber, dass im php script nur einmal das "=" zeichen vorkommt weil flash das als variable ansieht.

:D

**edit*

also natürlich kannst du in dem string an sich mehrere '='-Zeichen benutzen, aber in deinem image-"Array" sollte nur eins stehen ;)

**edit**
 
Zuletzt bearbeitet:
Original geschrieben von THE REAL TOOLKIT
wenn man in php/js den namen von einer variable dynamisch erzeugen will kommt eval() ins Spiel
zb. eval(bild+$counter;)

na ja nich ganz:

PHP:
$counter = 1;
$meine_var = "test_".$counter

echo $$meine_var;

ausgabe: test_1 (man beachte die $$ zeichen !)
 
Dicken Knutschaa an Chino!!
Hast mir sehr geholfen..danke für die Hilfe...hast mir´ne Menge weiterer abgenervter Nächte und dem Server´ne mange unnötiger Bandbreitenauslastung erspart!!
 
Zurück