Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 22-09-2003, 12:51   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Ort: Lauterbach
Beiträge: 4
Unhappy combobox mit php aus mysql füllen

Hallo,
Ich bin gerade dabei meine Projektarbeit zu programmieren und muss dabei immer wieder mysql-Daten in comboboxen laden.
ich denke ich hab ein vortreffliches beispiel gefunden, doch wenn ich das mit meinem swf probier kommt nix an...
Ich bin bei der Fehlersuche dann über 2 actionscript-brocken gestolpert, die nirgends erklärt werden, aber anscheinend öfter eingesetzt werden.
Das erste ist _root. Go und das zweite _root.thinking
kein Flash-manual und keine flash-seite konnten mir bisher auskunft darüber geben was das überhaupt ist, lediglich in meinem Beispiel.swf ist beides benutzt. Wenn ich die Zeile mit _root.Go auskommentiere funktioniert sogar alles noch, doch _root.thinking scheint von großer wichtigkeit zu sein denn ohne es geht garnix mehr...

Ist hier jemand der mich schlauer machen kann??????

Für jede Hilfe tausend dank im vorraus...
__________________
...I´m just a beginner...
zuluman ist offline   Mit Zitat antworten
Alt 22-09-2003, 12:58   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Scheinen zwei userdefinierte Funktionen oder Variablen zu sein. Und dann poste mal das Script...
  Mit Zitat antworten
Alt 22-09-2003, 13:39   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Ort: Lauterbach
Beiträge: 4
combobox

Hi,

danke für die schnelle reaktion!

hier erstmal das original php-script:
PHP-Code:
This array would normally be coming from a database ie MySQLMS SQLOracle

$NameArr 
= array("Flash-db.com""FlashKit""PHP.net","MySQL","Flash Magazine""CNN");
$DataArr = array("http://www.flash-db.com""http://www.flashkit.com""http://www.php.net""http://www.mysql.com","http://www.flashmagazine.com""http://www.cnn.com");

$numReturn count($NameArr);
$i 0;
print 
"&";

    while (
$i $numReturn) {
        
$Name         $NameArr[$i];
        
$DataRow     $DataArr[$i];

        print 
"Name$i=$Name&DataRow$i=$DataRow&";
        
$i++;
    }
print 
"&NumItems=$numReturn&Go=Yes&"
dazu das global (Ebene) action-script:
ActionScript:
  1. // Makes sure the initial value of Go is equal to zero
  2. _root.Go = "";
  3.  
  4. // Tells the thinking MC to gotoAndPlay(2) - and wait.
  5. _root.Thinking.gotoAndPlay(2);
  6.  
  7. // Specify the URL to either the Text file or PHP script that loads data from DB.
  8. // Make sure to change the path to your Data Source.
  9. loadVariables("http://192.168.0.1/zeiterfassung/test/ComboBox_PHP_Link.php", this);
und noch die aktionen:
ActionScript:
  1. // Main Functions.. This controls your Drop Down / Combo Box.
  2.  
  3. // The AddItems function assigns values to the drop down box from the external source
  4. function AddItems() {
  5.     for (i=0; i<NumItems; i++) {
  6.         var Name       = eval("Name"+i);
  7.         var DataRow     = eval("DataRow"+i);
  8.      dropDown.addItem(Name, DataRow);
  9.     }
  10.     //Set ChangeHandler (this is the most important line).
  11.     dropDown.setChangeHandler("SelectItem");
  12. }
  13.  
  14. // The SelectItem function tells the movie what to do when a user
  15. // Clicks on a certain Item in the drop down movie - this is your OnChange Handler.
  16.  
  17. // In this example we use it to open up a new URL.
  18. function SelectItem(){
  19.    URLName  = dropDown.getSelectedItem().label;
  20.    URL    = dropDown.getSelectedItem().data;
  21.    
  22.    getURL(URL, "_blank");
  23. }
wie gesagt, das funktioniert prächtig!
nur bei mir...php)
PHP-Code:
include "conf.php";
$res mysql_query("select * from $db.mitarbeiter where benutzer = '$txtbname';") or die ("txtname=Ungültiger Benutzername");
$rows mysql_num_rows($res);
$pw mysql_result($res,0,"kennwort");
if(
$pw!=$txtpw)
{
    echo 
"txtname=Falsches Passwort!";
}
elseif(
$pw==$txtpw)
{
    
$name_2=mysql_result($res,0,"name");
    
$name_3=explode(",",$name_2);
    
$name=$name_3[1]." ".$name_3[0];
    
//echo "txtname=$name !";
    
$gruppen_str=mysql_result($res,0,"gruppen");
    
$gruppen_arr=explode(", ",$gruppen_str);
    
$anz_gruppen=count($gruppen_arr);


    for(
$i=0;$i<$anz_gruppen;$i++)
    {
        
$resgr mysql_query("select * from $db.gruppen where id_gruppe = '$gruppen_arr[$i]';");
        
$row mysql_fetch_row($resgr);
        
$out_nr[$i]= "$row[0]";
        
$out_name[$i]= "$row[1]";
        
$id_array[$i] = $out_nr[$i];
        
$name_array[$i] = $out_name[$i];
    }


    
$j=0;
    echo 
"&";
    while (
$j $anz_gruppen)
    {
        
$output         $name_array[$j];
        
$out_num     $id_array[$j];

        echo 
"output$j=$output&out_num$j=$out_num&";
        
$j++;
    }

    echo 
"&NumItems=$anz_gruppen&Go=Yes&";


dann hab ich das global-script wie folgt angelegt:
ActionScript:
  1. dataURL = "http://192.168.0.1/zeiterfassung/";
  2. loadVariables(dataURL+"login.php", this);
  3. globalStyleFormat.arrow = 0x123456;
  4. globalStyleFormat.selection = 0xcccccc;
  5. _root.Go = "";
  6. // Tells the thinking MC to gotoAndPlay(2) - and wait.
  7. _root.Thinking.gotoAndPlay(2);
und dann die funktion für die combobox:
ActionScript:
  1. // The AddItems function assigns values to the drop down box from the external source
  2. function AddItems() {
  3.     for (i=0; i<NumItems; i++) {
  4.         var output   = eval("output"+i);
  5.         var out_num     = eval("out_num"+i);
  6.      combogruppe.addItem(output, out_num);
  7.     }
  8.     //Set ChangeHandler (this is the most important line).
  9.     combogruppe.setChangeHandler("SelectItem");
  10. }
  11.  
  12. // The SelectItem function tells the movie what to do when a user
  13. // Clicks on a certain Item in the drop down movie - this is your OnChange Handler.
  14.  
  15. // In this example we use it to open up a new URL.
  16. function SelectItem(){
  17.    Gruppen_Name = combogruppe.getSelectedItem().label;
  18.    Gruppen_ID      = combogruppe.getSelectedItem().data;
  19.    gotoAndStop(4);
  20.  
  21. }
so, meiner meinung nach sind alle wertübergaben etc identisch und trotzdem geht hier nada!

sorry es sind noch ein paar komische teile in meinem script (vom rumprobiern...)

ach und übrigens: die übergebenen werte von php sind völlig in ordnung; wenn ich meine php-datei im browser aufrufe habe ich jeweils einen übergabestring der sich innichts außer den variablenname und -werten unterscheidet!
und die funktionen hab ich nirgends in der gesamten .fla gefunden...

thanx nochma!
__________________
...I´m just a beginner...

Geändert von zuluman (22-09-2003 um 14:15 Uhr)
zuluman ist offline   Mit Zitat antworten
Alt 22-09-2003, 17:03   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Also, dein Prob hab ich noch nicht so recht verstanden: Die PHP-Variablen kommen an, in der Combobox steht aber nichts? Oder sind die Variablen nach dem loadVariables noch nicht da?

LoadVariables ist ein asynchroner Befehl, d.h. Flash arbeitet nach dem Absetzen des Befehls sofort weiter und wartet nicht das Ergebnis ab. Du musst also entweder mit einem onData-Event erst einmal die Rückgabevariablen abfangen oder besser gleich mit dem loadVars-Objekt arbeiten (siehe dazu jede Menge Beispiele unter "Suchen und finden").

_root.Thinking ist übrigens ein MC, der irgendwo auf der Hauptzeitleiste liegen muss, wozu _root.Go gut sein soll, geht aus dem Script nicht hervor, ich vermute aber mal ein String.
  Mit Zitat antworten
Alt 23-09-2003, 09:49   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2003
Ort: Lauterbach
Beiträge: 4
Smile MC endlich gefunden

Hallo Holger!

Vielen Dank erstmal für deine Mühe!

Also bisher hatte ich den Movieclip noch nicht entdeckt...

Da taucht alles auf, was sich mir als Frage gestellt hatte.

Zu deiner Frage: ja, ich habe nichts in die Combobox laden können obwohl das script die Daten genauso übergeben hat wie das Beispiel.

Ich werd gleich probiern das MC zu durchblicken und in mein Projekt einzubauen...

Also, muchas grazias amigo!
__________________
...I´m just a beginner...
zuluman ist offline   Mit Zitat antworten
Antwort

Lesezeichen

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



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

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


Copyright ©1999 – 2012 Marc Thiele