php-daten als as-Array gespeichert, aber nicht abfragbar

littlerichard

Grünschnabel
Hallo Miteinander,

ich habe folgendes AS geschrieben, das mit Daten aus der sql-db holt und als
zweidimensionales Array speichert.

PHP:
data.onLoad = function( status ) {
  if ( status ){
    arrayTitle = new Array;
    for ( i=0; i<this.numRows; i++ ) {
      valueTitle = eval('this.title' add i);
      valueId = eval('this.id' add i);
      arrayTitle[i] = new Array( valueId, valueTitle );
    }
  }
}

Das Array wir auch gefüllt, alles super ... aber ich kann arrayTitle nirgendswo mehr verwenden zum Beispiel:

PHP:
  indexNumRows = arrayTitle.length;

Habe schon ziemlich viel mit _global ausprobiert, geht aber nichts weiter.

Wer weiss Rat?
 
Hi,

(ungetestet) kann es sein, dass ArrayTitle in dem Fall als Membervariable von data definiert wird? Zumindest wird das Array ein lokales Objekt des MCs sein, in dem der onLoad-Handler steht.

Versuch einmal folgendes:
PHP:
data.onLoad = function( status ) { 
  if ( status ){
    _root.arrayTitle = new Array; 
    arrayTitle = _root.ArrayTitle;
    for ( i=0; i<this.numRows; i++ ) { 
      valueTitle = eval('this.title' add i); 
      valueId = eval('this.id' add i); 
      arrayTitle[i] = new Array( valueId, valueTitle ); 
    } 
  } 
}
nun müsstest Du eigentlich später über _root.ArrayTitle auf Dein Array zugreifen können.

Tipp: setze hier und da einige Trace-Aktionen ein, um die Gültigkeit und den Status der Variablen zu überpfüfen; oft kommt man dadurch ihrem Verbleib auf die Spur.

Gruß
 
Hi Datic,

danke für den Tip. Hab ich ausprobiert und geht trotzdem nicht.
Jetzt siehts so aus:
PHP:
data.onLoad = function( status ) {
  if ( status ){
    _root.arrayTitle = new Array;
    for ( i=0; i<this.numRows; i++ ) {
      valueTitle = eval('this.title' add i);
      valueId = eval('this.id' add i);
    _root.arrayTitle[i] = new Array( valueId, valueTitle );
    }
  }
}
fällt dir noch was ein?
 
Hi,

nun, bei mir funktioniert es, vorausgesetzt das Array wird korrekt gefüllt. Hast Du beim Anlegen des Arrays die Inhalte von valueTitle und valueID "getraced"?

Ich nehme an, data (LoadVars?) bekommt die Daten von einem PHP-Script übergeben; sonst poste doch mal Deine .fla und die Ausgabe von data.toString() - dann kann ich es unter "realistischen" Bedingungen testen.

Gruß
 
Hi,

das wird von PHP übergeben

PHP:
&numFields=2&numRows=13&id0=1&title0=Arthur Burkhart-Stiftung&id1=2&title1=Bernd-Rendel-Stiftung&id2=3&title2=Brunenbusch-Stein-Stiftung&id3=4&title3=DaimlerChrysler-Fonds&id4=5&title4=Dr. Helmut Storz Stiftung&id5=6&title5=Dr. Helmut Kraft Stiftung&id6=7&title6=Gottlieb Daimler- und Karl Benz- Stiftung&id7=8&title7=Hans L.Merkle-Stiftung&id8=9&title8=Heinz und Heide Dürr Stiftung&id9=10&title9=Kulturstiftung LIBERTAS PER VERITATEM&id10=11&title10=Phillipp-Melanchthon-Stiftung Philologisch-Theologisches Kolleg&id11=12&title11=Stiftungsfonds zur Förderung der Erforschung der Geschichte des anthroposophischen Kulturimpulses&id12=13&title12=Thomas Gessmann-Stiftung&

Anbei mal die fla - Datei ...
 

Anhänge

Zurück