Flashhilfe.de - Flash Community

Array aus PHP trennen [Flash MX 2004]

 


AntwortenRegistrieren Seite1 2  

die_maus#1
Benutzerbild von die_maus
Beiträge: 35
Registriert: Dec 2010

21.12.2010, 13:21

Hallo,

wie genau kann ich den Array aus PHP laden?

Wenn ich z.B.


ActionScript:
1textfeld.text = this.row0;


dann bekomme ich

abc|def|ghi|jkl

angezeigt

Wie kann ich Flash jetzt sagen, dass abc in textfeld1 soll und def in textfeld2 usw.?

ActionScript:
1
2
_this.row0.split("|");
_this.textfeld1(_this.row0[2]);


damit wird mir garnichst angezeigt.
derFloh#2
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

21.12.2010, 14:05

hey,
versuchs mal so:
ActionScript:
1
2
var array : Array = _this.row0.split("|");
_this.textfeld1(array[2]);

gruß
 flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
die_maus#3
Benutzerbild von die_maus
Beiträge: 35
Registriert: Dec 2010

Themenautor/in

21.12.2010, 14:36

Leider zeigt das mir genausowenig an

trace (array[2]);

gibt mir undefined aus.
Geändert von die_maus am 21.12.10 um 14:40 Uhr
derFloh#4
Benutzerbild von derFloh
Beiträge: 992
Wohnort: ..::LAGE::..
Registriert: Apr 2006

21.12.2010, 15:02

hmmm... dann stimmt da was anderes nicht...

ActionScript:
1
2
3
4
var s : String = "abc|def|ghi|jkl";

var a : Array = s.split("|");
trace( a[2] );

hiermit bekomme ich die ausgabe: ghi ...was korrekt ist.

zur not poste deine fla.
gruß
 flo
www.heimatdesign.com
Florin Sans - Buy on myFonts / Fontspring
Geändert von derFloh am 21.12.10 um 15:02 Uhr
badskill#5
Benutzerbild von badskillFlashhilfe.de Moderator
Beiträge: 5285
Wohnort: Bernau (bei Berlin)
Registriert: Nov 2002

21.12.2010, 15:07

Vielleicht:
ActionScript:
1this.textfeld.text = array[2];
?
Geändert von badskill am 21.12.10 um 15:08 Uhr
die_maus#6
Benutzerbild von die_maus
Beiträge: 35
Registriert: Dec 2010

Themenautor/in

21.12.2010, 16:13

So wie badskill es geschriebn hat, hatte ich es auch schon versucht. Ich sehe eher das Problem, dass die Daten nicht richtig übernommen werden.

Ich fasse nochmal zusammen.

ActionScript:
1textfeld.text = this.row0;


Zeigt mir alles aus dem PHP an.

ActionScript:
1trace (array[2]);


Das zeigt mir wiederum nur undefined an...

Also sollte das Problem irgendwo am array liegen, und das wiederum versuche ich den ganzen Tag schon zu finden.

Hier die Datei noch
[attachment_6924]
die_maus#7
Benutzerbild von die_maus
Beiträge: 35
Registriert: Dec 2010

Themenautor/in

22.12.2010, 12:28

Ok, hab es rausgefunden.

ActionScript:
1
2
var myarray:Array = this.row0.split("|");
      textfeld2.text = myarray[3];
die_maus#8
Benutzerbild von die_maus
Beiträge: 35
Registriert: Dec 2010

Themenautor/in

22.12.2010, 16:37

Eine Frage noch. Um nicht zu viel Traffic zu verursachen, wie kann ich das Script so optimieren, dass die Daten beim öffnen in das Array geladen werden und beim onPress ausgegeben werden?


ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var LV = new LoadVars();
LV.sendAndLoad("test.php", LV, "POST");
LV.onLoad = function() {
     mc1.onPress = function() {
        var myarray:Array = this.row0.split("|");
        textfeld1.text = ("Nr.: "+myarray[0]);
        textfeld2.text = myarray[2];
        if (myarray[0]<5) {
           textfeld3.text = ("Die getestete Zahl kleiner als 0");
        } else {
           textfeld3.text = ("Die getestete Zahl ist größer als oder gleich 0");
        }
     };
};
RustyCake#9
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

22.12.2010, 17:13

Ich weiss nicht ob ich Dich richtig verstanden hab!
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
var myarray:Array = [];
var LV = new LoadVars ();
LV.sendAndLoad ("test.php",LV,"POST");
LV.onLoad = function (aloha)
{
     if (aloha)
     {
        myarray = this.row0.split ("|");
        initBtn ();//Um sicher zu stellen, das der button erst gedrückt werden kann, wenn Daten da sind!
   }
     else
     {
        trace ("Fehler beim Laden");
     }
};
function initBtn ()
{
     mc1.onPress = function ()
     {
        textfeld1.text = ("Nr.: " + myarray[0]);
        textfeld2.text = myarray[2];
        if (myarray[0] < 5)
        {
           textfeld3.text = ("Die getestete Zahl kleiner als 0");
        }
        else
        {
           textfeld3.text = ("Die getestete Zahl ist größer als oder gleich 0");
        }
     };
}
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
die_maus#10
Benutzerbild von die_maus
Beiträge: 35
Registriert: Dec 2010

Themenautor/in

22.12.2010, 17:58

Im Prinzip ist das richtig so, vielen Dank.

Wenn es nicht zu viel verlangt ist, könntest mir noch sagen wie ich deinem Script jetzt noch sage

bei mc1 verwende row0
bei mc2 verwende row1
usw.

Schreibst du solche Scripte aus dem Stehgreif?
RustyCake#11
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

22.12.2010, 18:27

Ja aus dem Stegreif, mit Texteditor ;-)
Wieder mit Vorbehalt, ich weiß nicht ob ich das richtig verstanden habe.
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
var myFistArray:Array = [];
var mySecondArray:Array = [];
var LV = new LoadVars ();
LV.sendAndLoad ("test.php",LV,"POST");
LV.onLoad = function (aloha)
{
     if (aloha)
     {
        myFirstArray = this.row0.split ("|");
        mySecondArray = this.row1.split ("|");
        initBtn ();//Um sicher zu stellen, das der button erst gedrückt werden kann, wenn Daten da sind!
   }
     else
     {
        trace ("Fehler beim Laden");
     }
};
function initBtn ()
{
     mc1.onPress = function ()
     {
        textfeld1.text = ("Nr.: " + myFirstArray[0]);
        textfeld2.text = myFirstArray[2];
        if (myFirstArray[0] < 5)
        {
           textfeld3.text = ("Die getestete Zahl kleiner als 0");
        }
        else
        {
           textfeld3.text = ("Die getestete Zahl ist größer als oder gleich 0");
        }
     };
     mc2.onPress = function ()
     {
        textfeld4.text = ("Nr.: " + mySecondArray[0]);
        textfeld5.text = mySecondArray[2];
        if (mySecondArray[0] < 5)
        {
           textfeld4.text = ("Die getestete Zahl kleiner als 0");
        }
        else
        {
           textfeld4.text = ("Die getestete Zahl ist größer als oder gleich 0");
        }
     };
}
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
die_maus#12
Benutzerbild von die_maus
Beiträge: 35
Registriert: Dec 2010

Themenautor/in

22.12.2010, 18:58

Nicht ganz, aber würde auch gehen. Bei 50 mc´s wird das Script dann halt Kilometer lang.

Die Textfelder 1-3 sollen schon die selben bleiben.
RustyCake#13
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

22.12.2010, 19:03

50 MC's aso, da gibt es auch Möglichkeiten, sind die durch Nummeriert mc1-mc50?
Muß gerade Kochen, melde mich wieder :-)
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
die_maus#14
Benutzerbild von die_maus
Beiträge: 35
Registriert: Dec 2010

Themenautor/in

22.12.2010, 19:12

Ja die sind durchnummeriert.

Viel Spaß beim Kochen und guten Hunger. Lass Dich nicht stressen und vor allem nicht von mir :-)
Geändert von die_maus am 22.12.10 um 19:12 Uhr
RustyCake#15
Benutzerbild von RustyCake
Beiträge: 1776
Wohnort: Laimbach 6 1/2
Registriert: Nov 2002

22.12.2010, 22:24

So. Mit dem was ich weiß, müßte es so in etwa gehen.
Allerdings könnte man das auch ein wenig Dynamischer machen, wenn man den "row-count" auch von der PHP bekommen würde.
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
var myRowArray:Array = [];
var mcArray:Array = [];
var mcAnzahl:Number = 50;
var datenLoaded:Boolean = false;
var LV = new LoadVars ();
LV.sendAndLoad ("test.php",LV,"POST");
LV.onLoad = function (aloha)
{
     if (aloha)
     {
        for (var i:Number = 0; i < mcAnzahl; i++)
        {
           myRowArray[i] = this["row" + i].split ("|");
        }
        datenLoaded = true;
     }
     else
     {
        trace ("Fehler beim Laden");
     }
};
for (var i:Number = 0; i < mcAnzahl; i++)
{
     myRowArray[i] = [];
     mcArray[i] = this["mc" + (i + 1)];
     mcArray[i].ID = i;
     mcArray[i].onPress = function ()
     {
        if (datenLoaded)
        {
           textfeld1.text = ("Nr.: " + myRowArray[this.ID][0]);
           textfeld2.text = myRowArray[this.ID][2];
           if (myRowArray[this.ID][0] < 5)
           {
              textfeld3.text = ("Die getestete Zahl kleiner als 0");
           }
           else
           {
              textfeld3.text = ("Die getestete Zahl ist größer als oder gleich 0");
           }
        }
     };
}

Wie geschrieben, mit Text-Editor gemacht, konnte also nicht testen!
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muss erst gehen lernen"
Geändert von RustyCake am 23.12.10 um 00:03 Uhr
die_maus#16
Benutzerbild von die_maus
Beiträge: 35
Registriert: Dec 2010

Themenautor/in

22.12.2010, 23:39

Da muss ich erstmal drüber schlafen, verstehe gerade nur Bahnhof und da fahren die Züge in ICE Geschwindigkeit durch.

Aufjedenfall wenn cih das 1zu1 kopiere kommt in den Textfeldern nur undefined.

Aber trozdem Danke für deine Mühen und eine gute NAcht.

AntwortenRegistrieren Seite1 2  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2022 Sebastian Wichmann - Flashhilfe.de