• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-05-2010, 23:49   #1 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 6
Daten von MySQL/PHP an Flash übergeben

Hallo,

ich grüble seit geraumer Zeit über einem Problem, bei dem ich einfach nicht weiter komme.

Ich möchte mittels einer kleinen Flash-Seite eine einfache Abfrage in einer Datenbank durchführen und dabei ein Array an Flash übergeben (Actionscript 2).

Dabei wollte ich ähnlich vorgehen wie in einem Handbuch beschrieben (Adobe Flash CS4 von Nick Weschkalnies). Dort wird vorgeschlagen, das Array in eine Zeichenkette umzuformen, die dann in etwa so aussieht:

id0=1&datum0=2007-07-16&msg0=Erster Eintrag&id1=2&datum1=2007-07-22&msg1 ... &counter=2

Wenn ich mir das einfach per php ausgeben lasse, klappt das auch. Allerdings weiß ich nicht, wie ich diese Zeichenfolge dann in Flash reinbekomme?

Ein Problem ist es vielleicht auch, dass ich zuerst in der Flash-Seite eine Auswahl treffe, nach der gesucht werden soll und sodann die Ergebnisse entgegen nehmen will. Kann ich hier das Senden und Empfangen überhaupt in einem Frame erledigen bzw. mittels einer php-datei?

Mein erster Gedanke für die PHP-Datei sah in etwa wie folgt aus:


<?php

$wert1= $_POST['wert1'];
$wert1= $_POST['wert2'];


...

$sql = "
SELECT antwort1, antwort2 FROM tabelle1 WHERE wert1 LIKE '".$wert1."' AND wert2 LIKE '".$wert2."'";


mysql_query($sql, $connection) or die(mysql_error());

$ergebnis = mysql_query($sql);

$counter = 0;
while ($row = mysql_fetch_array($ergebnis, MYSQL_ASSOC)) {
$wert1= $row["wert1"];
$wert2= $row["wert2"];
if($counter == 0) {
$output = "wert1"-$counter."=".$wert1;
} else {
$output.= '&wert1'.$counter.'='."$wert1";
}
$output.= '&wert2'.$counter.'='."$wert2";
$counter++;
}
$output.="&counter="."$counter";
echo "$output";



?>

Leider krieg ich es jedoch in keiner Weise hin, die Daten nach Flash zu bekommen. Ich wäre für daher für jede Hilfe sehr dankbar!

Vielen Dank schon im Voraus & viele Grüße
Planlosernutzer ist offline   Mit Zitat antworten
Alt 19-05-2010, 00:05   #2 (permalink)
Zero to Hero
 
Registriert seit: Apr 2007
Beiträge: 871
wie sieht denn das AS zum senden und empfangen von Daten zum PHP bisher aus?
__________________
Ein Tag an dem du nicht gelacht hast ist ein verschwendeter Tag.
Never Stop!

Mike
ingrimm ist offline   Mit Zitat antworten
Alt 19-05-2010, 11:49   #3 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 6
Hallo ingrimm,

vielen Dank für Deine schnelle Antwort!
Ich habe heute morgen dieses Tutorial (im Gegensatz zum Handbuch in AS2):

Flash PHP und MySQL Tutorial - Flash & Serverseitiges - Flashbattle.de - Flashforum / Webdesign Community & Developer`s Page

entdeckt und meine bisherigen Bemühungen entsprechend verändert. Nun bin ich denke ich schon ein Stück weiter. Wenn ich das Beispiel entsprechend für meine Frage modifiziere, gelange ich zu folgender Stelle, die noch erwartungsgemäß funktioniert:


texte = new Array();
_global.lesen = function() {
daten = new LoadVars;
daten.onLoad = function()
{
_global.adressen = "Adressen";
for (var i in this) {
if (i != 'onLoad') {
texte[i] = this[i].split("#");
_global.adressen += "\nName: "+texte[i][1]+"\nNachname: "+texte[i][2]+"\nE-Mail: "+texte[i][3]+"\n";
}
}
ausgabe.text = adressen;
};

Ich erhalte also im textfenster ausgabe alle Daten untereinander aufgereiht. Nun müssten sie doch aber auch im Array texte vorliegen - und ein Array will ich ja an sich haben, um auf einzelne Inhalte zugreifen zu können.

Warum erhalte ich mit " ausgabe.text = texte; " gar nichts und mit " ausgabe.text = texte[1][1]; " nur undefined?

Im Beispiel wird das Array texte ja später gelöscht, bei mir wird nichts gelöscht. Wahrscheinlich mache ich nur irgendeinen dummen Fehler, aber ich komme gerade wirklich nicht weiter..

Vielen Dank für alle Bemühungen!
Planlosernutzer ist offline   Mit Zitat antworten
Alt 19-05-2010, 11:52   #4 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 5.626
Bevor Du Dich mit unmengen durchnummerierter und url-encodierter Variablen rumschlagen musst, würde ich mir überlegen ob ich die php-Flash Kommunikation komplett über XML mache.

In erstellst Du ein XML und sendest dieses per XML.sendAndLoad an php. Da wird das XML dann überarbeitet und zurückgeschickt.

Das dürfte wesentlich sauberer, übersichtlicher und flexibler sein.
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 19-05-2010, 11:56   #5 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 6
Hallo Martin,

es werden keine Unmengen an Daten sein, das Array dürfte jeweils maximal 3*5 Einträge haben.

Außerdem glaube ich, dass die Lösung meines konkreten "Problems" ja nun nicht mehr allzu weit entfernt sein müsste - und ein kleines Erfolgserlebnis würde mir jetzt sicher gut tun

Für spätere Fragen könnte ich mir deinen Vorschlag sicher überlegen!

Viele Grüße
Planlosernutzer ist offline   Mit Zitat antworten
Alt 19-05-2010, 12:30   #6 (permalink)
Neuer User
 
Registriert seit: May 2010
Beiträge: 6
Hallo alle zusammen,

ich habe weiter probiert, wenn ich folgendes mache:

inhalte = new Array()
inhalte2 = new Array()
inhalte3 = new Array()

texte = new Array();

_global.lesen = function() {
daten = new LoadVars;
daten.onLoad = function()
{

_global.adressen = "Adressen";
_global.k = 1;
for (var i in this) {
if (i != 'onLoad') {
texte[i] = this[i].split("#");

inhalte[k] = texte[i][1];
inhalte2[k] = texte[i][2];
inhalte3[k] = texte[i][3];
k++;
}
}
ausgabe.text = inhalte[3];
ausgabe2.text = inhalte2[2];

...

};

dann kann ich einzeln auf die Daten zugreifen, genau das wollte ich an sich. Nun bin ich ja blutiger Anfänger - ich verstehe absolut nicht, warum das ganze funktioniert, wenn ich 3 einzelne eindimensionale Arrays mache, es aber nicht mit einem 2-dimensionalen Array funktioniert (oder ich bisher mich zu blöd dazu angestellt habe).
Hätte vielleicht noch jemand einen Ratschlag, um mir auf die Sprünge zu helfen?

Viele Grüße
Planlosernutzer ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
array, mysql, php

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Daten aus MYSQL mit PHP -> Flash Sir_Tobi Flash 4 und Flash 5 7 26-07-2007 21:21
daten mit php an flash übergeben this.me Flash und Datenbanken 1 04-08-2006 12:10
Daten mit AMFPHP, PHP und MySQL durch AS2 auslesen und an Flash übergeben crashT Flash Remoting 16 06-03-2006 11:12
daten von flash an mySql Mister Pink Flash und Datenbanken 0 27-06-2005 19:45
daten aus MySql in Flash Blax_ed PHP und MySQL 16 24-07-2003 16:15


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:43 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele