tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
14
ZUGRIFFE
917
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Apr 2004
    Ort
    Zürich
    Beiträge
    121
    Tach! Ich bin müde geworden vom durchforsten des Forums über eine verständliche Erklärung wie ich Daten aus der Datenbank raushole (allgm) .

    Also ich hab ne Tabelle t_test mit ID und name reicht ja mal fürs Beispiel.
    Wie ich die Daten über php rausfinde ist kein Problem. Aber ich hät schon mal fragen wie die ganze Übergabe stattfindet.

    a) müssen die Daten aus PHP in ein externes Textfile geschrieben werden damit Flash sie dann aus diesem File laden kann?!
    b) Wenn nicht, wie sollte dann das PHP script aussehen nach dem Befehl : mysql_query($sql) ?
    c) Wie lad ich nun alle Namen aus der Datenbank in die Dropdownlist welche als Instanz auf der Bühne ist?

    Danke an alle
    gruss ana
     
    Flash an die Macht!

  2. #2
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    die Übertragung von Daten zwischen Server und Client ist mit Flash und PHP eigentlich recht unkompliziert.

    Die Daten, die Du in Flash benötigst, gibst Du einfach mit echo oder write aus, wobei die notwendige Formatierung von dem Objekt abhängt, mit dem Du die Daten in Flash einließt. URL-Codiert mit dem LoadVars-Objekt:
    PHP-Code:
    // PHP:
    for ($i 0$i $entrys$i++) {
     echo(
    "&vorname=".$forename[$i]."&nachmame=".$lastname[$i]);
    }

    // und in Flash mit dem LoadVars-Objekt einlesen:
    var lv = new LoadVars();
    lv.load("meinphp.php""POST");
    lv.onLoad = function() {
        
    trace(this.vorname);
        
    trace(this.lastname);

    oder z.B. XML-formatiert:
    PHP-Code:
    // PHP:
    echo("<entry id=\"menue\" caption=\"Home\">");
    echo(
    "    <entry id=\"submenue \" caption=\"Home 1\" src=\"home1.swf\" />");
    echo(
    "</entry>");

    // und in Flash mit dem XML-Objekt einlesen:
    var xm = new XML();
    xm.ignoreWhite true;
    xm.load("meinphp.php""POST");
    xm.onLoad = function() {
        
    traceMe(this);
    }

    function 
    traceMe(node) {
        for (var 
    i=0i<node.ChildNodes.lengthi++) {
            
    trace(node[childNodes[i].attributes.caption);
            
    traceMe(node.childNodes[i]);
        }

    Gruß

    P.S.: Es bietet sich an, Daten für den Versand mit urlencode zu codieren und nach dem Einlesen mit unescape wieder umzuwandeln.
    .
     

  3. #3
    Registriert seit
    Apr 2004
    Ort
    Zürich
    Beiträge
    121
    danke!
    ich hab zwar gleich nachdem ich den thread eröffnet habe folgendes gefunden :
    macromedia
    Ist aber sehr fehleranfällig wenn man sich verklickt hat bei diesen Components.
    Ich probier mal deine Lösung aus.
    Was ich aber festgestellt habe bei dem xml connector: habe ich 2 szenen in der ersten irgendwas und in der zweiten meinen xml con. dann kann er die Daten nicht laden. Schmeiss ich die erste szene raus sind alle Daten vorhanden. -> c'est mysterieux

    greetz ana
     
    Flash an die Macht!

  4. #4
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    hmm... da kann ich spontan nicht viel zu sagen; die eingebauten Komponenten fasse ich normalerweise nicht an (XML-Connector? Nie gehört). Nur soviel: Szenen && Dynamic = Probleme, das zeigt sich immer wieder. Setze Deine Inhalte in verschiedene Frames einer Zeitleiste oder packe sie in MovieClips und verzichte ganz auf mehrere Frames in der Hauptzeitleiste.

    Gruß
    .
     

  5. #5
    Registriert seit
    Apr 2004
    Ort
    Zürich
    Beiträge
    121
    na gut. Hab schon eine "Umgeh"-lösung gefunden.
    Weiss du zufällig wie ich von der Combobox das label, value oder wie es sonst heisst (einfach den Text den ich in der Combobox seh) bekomme?
     
    Flash an die Macht!

  6. #6
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    hmm... ich sagte ja: ich und Kompontenten

    Die Hilfe meint:
    ComboBox.addItem()
    Verfügbarkeit
    Flash Player 6.0.79.

    Verwendung 1:
    comboBoxInstance.addItem(label[, data])

    Verwendung 2:
    comboBoxInstance.addItem({label:label[, data:data]})

    Verwendung 3:
    comboBoxInstance.addItem(obj);

    Parameter
    label - Eine Zeichenfolge, die die Bezeichnung für das neue Element angibt.

    data - Die Daten für das Element mit beliebigem Datentyp. Dieser Parameter ist optional.

    obj - Ein Objekt mit einer label-Eigenschaft und einer optionalen data-Eigenschaft.
    ... und mit selectedItem bekommst Du das ausgewählte Feld:
    PHP-Code:
    var item meineComboBox.selectedItem;
    trace("Sie haben das Element " item " ausgewählt."); 
    Gruß
    .
     

  7. #7
    Registriert seit
    Apr 2004
    Ort
    Zürich
    Beiträge
    121
    lol sorry ich musste ne antwort rausquetschen!
    ok wenn ich es nach deiner Version lade habe ich immer noch einen Datensatz "[type Funktion]" den er mir automatisch zu meinen Datensätzen hinzufügt und ich krieg den nich weg
     
    Flash an die Macht!

  8. #8
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    wie lädst Du die Daten nun ein, mit dem LoadVars- oder dem XML-Objekt? Wenn ich mit einem LoadVars-Objekt "unformatierte" Daten, also Daten, die nicht als URL-codierte Variablen vorliegen, einlade, erhalte ich als Wert des Objektes eine Zeichenkette mit besagtem "TypeFunction" am Ende (eigentlich nicht schlimm, manchmal will ich eine beliebige Datei laden, dann verwende ich LoadVars.toString() und schneide die letzten 23 Zeichen oder so mit substr weg). Wenn die Länge Deiner Datensätze unbekannt ist, und Du keine extra-Variable für die Anzahl einfügen willst, bietet sich das XML-Objekt an, mit dem Du z.B. über XML.childNodes.length die Anzahl der Einträge erfahren kannst.

    Alternativ kannst Du die Variablen eines LoadVars-Objektes durchnummerieren, und eine Schleife so lange laufen lassen, bis der erste Eintrag "undefined" ist:
    PHP-Code:
    var amt 0;

    while (
    meinLoadVars["variable" amt] != undefined) {
        
    meinCombo.addItem(meinLoadVars["variable" amt]);
        
    amt ++;

    Gruß
    .
     

  9. #9
    Registriert seit
    Apr 2004
    Ort
    Zürich
    Beiträge
    121
    ne habs mti loadvars gemacht das xml is mir zu kompliziert. Habs mit der If-Abfrage weggebracht die Daten wurden ja in die Combobox geladen.
    Ich hätt da aber eine rein allgemeine Frage
    Ich weiss das es in C# (auch in javascript) z.B möglich ist zu sagen getElementById("button_" + i)
    Ist so etwas auch in Flash möglich?
    ich hab nämlich 6 verschiedene Eingabefelder mit instanznamen t1 - t6
    und jetzt träume ich davon die Felder so anzusprechen: [concat("t" , i)].text = "blabalbla";
     
    Flash an die Macht!

  10. #10
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    schau mal ein paar Threads tiefer!

    Du könntest Deine Variablen z.B. mit
    PHP-Code:
    for (var i=0i<anzahli++) {
        
    this["t" i].text meinArray[i];

    ansprechen.

    Gruß
    .
     

  11. #11
    Registriert seit
    Apr 2004
    Ort
    Zürich
    Beiträge
    121
    boah du bist ein schatz danke!
     
    Flash an die Macht!

  12. #12
    Registriert seit
    Apr 2004
    Ort
    Zürich
    Beiträge
    121
    noch ne Frage:
    ich will Daten nun an php geben aber ich hab ein Prob bezüglich der letzten Frage:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    for(var i = 1; i < 7; i++)
        {
            if( this["t" + i].text != "") {
                teamname = "";
            teamname = teamname.concat("t", i);
            d.teamname = this["t" + i].text;        
            trace("teamname: " + d["t1"] );
            }
        }
        d.send("setTeams.php","_self","POST");

    nur das bei d.x das x in PHP so abgefragt wird: $HTTP_POST_VARS['x']
    und in meinem Beispiel ist teamname ja eine Variable ich will aber den Inhalt der Variable in PHP abfragen in etwa so: $HTTP_POST_VARS['t' + i]
     
    Flash an die Macht!

  13. #13
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Hi,

    so wie Du das schreibst, wird die Membervariable namens "teamname" immer wieder überschrieben (teste das nach der Schleife mal mit trace(d.toString()); ). Um wirklich für jeden Eintrag eine Variable im LoadVars-Objekt zu bekommen (teamname1 ... teamname10), solltest Du folgendes versuchen:
    PHP-Code:
    d["teamname" i] = this["t" i].text
    In PHP kannst Du nun in einer Schleife alle übergebenen Variablen auslesen:
    PHP-Code:
    $i 0;
    while (isset(
    $_POST["teamname".$i])) {
        
    $array[$i] = $_POST["teamname".$i];
        
    $i ++;

    Gruß
    .
     

  14. #14
    Registriert seit
    Apr 2004
    Ort
    Zürich
    Beiträge
    121
    Danke hast mir aus der Misere geholfen. Wie es aber typisch ist renne ich von einem Problem ins Nächste.
    Ich sage ja beim senden der Daten in der Funktion send target = "_self" und das Unerfreuliche an der ganzen Sache ist, dass der Browser einfach zu meiner php-Seite switcht und mein Flashfilm vergessen wird. Beim weglassen des Targets öffnet er einfach ein neues Browserfenster. Ich hab mal meta-Tags gesehen die die Seite nach x sekunden zum selber schliessen bringen aber wie das geht hab ich vergessen...
     
    Flash an die Macht!

  15. #15
    Registriert seit
    Mar 2004
    Ort
    Basisrealität
    Beiträge
    12.118
    Blog-Einträge
    7
    Oh ja? Das sollte er eigentlich nicht machen (hab im Moment keine Zeit, es auszuprobieren). Nimm sendAndLoad, gib das LoadVars-Objekt als Empfänger an und lass das Tartet weg, dann wird Deine PHP-Seite jedenfalls nicht angezeigt:
    PHP-Code:
    myLoadVars.sendAndLoad("meinphp.php"myLoadVars"POST"); 
    Gruß
    .
     

Ähnliche Themen

  1. asp:DropDownList oder Html.DropDownList()
    Von Augus im Forum .NET Datenverwaltung
    Antworten: 0
    Letzter Beitrag: 15.12.10, 21:18
  2. [Outlook 2010] DropDownList mit Werten aus Excel füllen
    Von Brainyac im Forum Office-Anwendungen
    Antworten: 0
    Letzter Beitrag: 25.08.10, 10:30
  3. Dropdownlist mit Werten füllen
    Von xloouch im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 1
    Letzter Beitrag: 11.03.10, 12:55
  4. Antworten: 0
    Letzter Beitrag: 08.08.07, 10:39
  5. Antworten: 2
    Letzter Beitrag: 09.07.06, 12:18