Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-08-2003, 11:20   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 35
Dynamische Liste

Hallo,

ich möchte eine Liste aus einer MySQL Datenbank laden. Und zwar wird auf einen Button geklickt der folgendes Macht:

on (release) {
_root.gotoAndStop("start");
stopDrag();
_root.gotoAndStop("Kreis");
}

Dann wird der Kreis aufgerufen, der mit Daten gefüllt werde soll, der hat folgenden Code:

loadVariables("employee.php?fill=1&departement="+_ root.art,"_level0");

createTextField("liste",2,297,70,180,80);

with(liste) {
autoSize="left";
embedFonts=false;
textColor=0;
border=false;
selectable=false;
type="dynamic";
html="false";
background=false;
}

listeFormat=new TextFormat();
with(listeFormat) {
color=0x000000;
bullet=false;
font="Arial";
size=12;
align="center";
leading=5;
}

liste.text=_level0.employee_name;
liste.setTextFormat(listeFormat);

Die Daten kommen zwar richtig an, aber erst auf den zweiten Klick. d.h ich muss zweimal auf den Button klicken bis die Daten im Kreis erscheinen. Das war mein erstes Problem. Mein Zweites ist, das eine Liste generiert werden soll, in den untereinander die Inhalte von _level0.employee_name stehen soll. employee_name kommt als string zurück in dem die einzelnen Einträge mit ; getrennt sind. Die sollen also getrennt werden und untereinander erscheinen. Beim Klick auf einen dieser Einträge soll zu einem neuen MovieClip gesprungen werden. Meine Frage:

Wie übergeb ich die ID (also employee_id entspricht der ID in der Datenbank welche zum Namen in employee_name passt) in den neuen Clip um dort die Detaildaten aus einer DB laden zu können (Refernz auf ID).

Danke und Gruß

Ralf
kerstel ist offline   Mit Zitat antworten
Alt 20-08-2003, 11:45   #2 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
als erstes würde ich das loadvars nehmen ist sicherer.
ActionScript:
  1. loadText = new LoadVars();
  2. loadText.onLoad = function(success) {
  3.       _root.employee_name=this.employee_name
  4.             create_liste()
  5. }
  6. stop()
  7. loadText.load("employee.php?fill=1&departement="+_root.art);

mit deiner liste blick ich es glaube nicht.
die liste soll in deinem textfeld stehen und anklickbar sein?!?
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 20-08-2003, 11:57   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 35
So in der Art

Hi,

Es soll einfach nur eine Liste erstellt werden auf deren Einträge man klicken kann. Die Einträge kommen von employee_name. Beim klick auf einen Eintrag soll ein neuer Movieclip gestartet werden und employee_id (die zum Eintrag passt) mit übergeben werden.

Keine Ahnung ob das mit nem Textfeld geht oder nicht, ich ging nur davon aus.

Danke und Gruß

Ralf
kerstel ist offline   Mit Zitat antworten
Alt 20-08-2003, 12:24   #4 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
also noch mal
1) du lädst eine liste
2) wird dann in flash aufgebaut mit text und schalter
3) bei klick auf einen schalter willst du eine id an php übergeben
die aus einer datenbank die entsprechenden werte ausliest

wie kommt deine liste in flash an so
employee_name=eintrag1;eintrag2;eintrag3;..usw
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 20-08-2003, 12:31   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 35
Hi,

genauso so

employee_name=wert1;wert2;wert3;
employee_id=1;2;3;

Die Liste soll dann so aussehen:

wert1
wert2
wert3

Auf diese Einträge soll nun geklickt werden können. Beim Klick wird dann ein neuer MovieClip aufgerufen, welcher wiederrum Daten aus der Datenbank hohlt, dazu muss aber die ID mit an den MovieClip übergeben, also:

wert1 übergibt an MovieClip 1
wert2 übergibt an MovieClip 2
wert3 übergibt an MovieClip 3

Ich hab keine Ahnung wie ich das machen könnte, vorallem mit dem Hover-Effekt usw. Aber ich wär schon mal froh wenn ich die Liste verlinken könnte

Danke und Gruß

Ralf
kerstel ist offline   Mit Zitat antworten
Alt 20-08-2003, 12:49   #6 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
hier mal ein beispiel wie du das machen könntest
ich lege die variable employee_name zum testen mal so an.
ActionScript:
  1. employee_name="eintrag1;eintrag2;eintrag3;eintrag4;eintrag5"
  2. loadText = new LoadVars();
  3. loadText.onLoad = function(success) {
  4.       _root.employee_name=this.employee_name.split(";");
  5.             create_liste()
  6. }
  7. stop()
  8. //loadText.load("employee.php?fill=1&departement="+_root.art);
  9. _root.employee_name = this.employee_name.split(";");
  10. function create_liste(){
  11.        
  12.                 //leere mc machen
  13.                 for(i=0;i<_root.employee_name.length;i++){
  14.                     _root.createEmptyMovieClip("mc"+i,1000+i);
  15.                     _root["mc"+i].onRelease = function() {
  16.                         trace("ID= "+(Number(this._name.substr(2))+1)) 
  17.                     }
  18.                     _root["mc"+i].createTextField("feld",1,0,0,200,20);
  19.                     _root["mc"+i].feld.text+=_root.employee_name[i]
  20.                     _root["mc"+i]._x=30
  21.                     _root["mc"+i]._y=i*40+100
  22.                
  23.     }
  24. }
  25. create_liste()
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 20-08-2003, 13:11   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 35
Hi,

danke für Deine Hilfe. Ein kleine Frage noch:

Wo übergeb ich meine ID und wo geb ich den MovieClip an wo alles hin geht?
Wie realisiere ich hier Hover-Effekte?

Ok, dass waren 3 kleine Fragen

Vielen Dank

Ralf
kerstel ist offline   Mit Zitat antworten
Alt 20-08-2003, 13:23   #8 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
die ID ergiebt sich aus dem namen des mc 0-bis ...
die kannst du ja auf root ablegen.und danach deinen mc starten.
hover meinst du einen sichtbaren rollover den must selber machen.

ActionScript:
  1. _root["mc"+i].onRelease = function() {
  2.                     _root.id= (Number(this._name.substr(2))+1)
  3.                     _root["MovieClip"+_root.id].play()
  4.                     }
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 20-08-2003, 13:30   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 35
Hi,

sorry wenn ich nochmal frag, aber nach der Nachtschicht wegen dem Zeug hab ich ne totale Matschbirne. Ich hab jetzt folgenden Code:

loadText = new LoadVars();
loadText.onLoad = function(success) {
_root.employee_name=this.employee_name.split(";");
_root.employee_id=this.employee_id.split(";");
create_liste();
}
stop()
loadText.load("employee.php?fill=1&departement="+_ root.art);

function create_liste(){
//leere mc machen
for(i=0;i<_root.employee_name.length;i++){
_root.createEmptyMovieClip("mc"+i,1000+i);
_root["mc"+i].onRelease = function() {
_root.id=_root.employee_id[i];
_root["employees"].play();
}
_root["mc"+i].createTextField("feld",1,297,140,180,20);
with(_root["mc"+i].feld) {
autoSize="left";
embedFonts=false;
textColor=0;
border=false;
selectable=false;
type="dynamic";
html=false;
background=false;
multiline=false;
wordWrap=false;
}
this.fmt=new Textformat();
with(this.fmt) {
font="_sans";
align="center";
size=12;
leading=0;
bullet=true;
}
_root["mc"+i].feld.setTextFormat(this.fmt);

_root["mc"+i].feld.text+=_root.employee_name[i];
_root["mc"+i]._x=30;
_root["mc"+i]._y=i*15;
}
}

Folgende Dinge gehen nicht:
der Movieclip "employees" wird nicht aufgerufen und das Textformat klappt nicht. Was hab ich falsch gemacht

Danke für Deine Geduld

Ralf
kerstel ist offline   Mit Zitat antworten
Alt 20-08-2003, 13:30   #10 (permalink)
...
 
Registriert seit: Oct 2002
Ort: Nürnberg
Beiträge: 3.611
hab auch nochmal kurz was gebaut:
ActionScript:
  1. MovieClip.prototype.mkHolder = function(source, al, col) {
  2.     var a = source.split(";");
  3.     for (var i = 0; i<a.length; i++) {
  4.         var o = createEmptyMovieClip("mc", i);
  5.         o.createTextField("feld", 1, 0, 0, 100, 20);
  6.         // set values
  7.         o.i=i, o._x=0, o._y=i*30, o.feld.text=a[i], o._alpha=al;
  8.         //draw
  9.         o.beginFill(col), o.lineTo(100, 0), o.lineTo(100, 20), o.lineTo(0, 20), o.lineTo(0, 0), o.endFill();
  10.         o.onRelease = function() {
  11.             trace("ID= "+this.i);
  12.         };
  13.         // hover-effect
  14.         o.onRollOver = function() {
  15.             this._alpha = 100;
  16.         };
  17.         o.onRollOut = function() {
  18.             this._alpha = al;
  19.         };
  20.     }
  21. };
  22. employee_name = "eintrag1;eintrag2;eintrag3;eintrag4;eintrag5";
  23. this.mkHolder(employee_name, 50, 0x990000);
thorben.schmitt ist offline   Mit Zitat antworten
Alt 20-08-2003, 13:45   #11 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
@kerstel nimm das von @thorben84 ist nicht so hingewurstelt
wie meins
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 20-08-2003, 13:49   #12 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 35
Hi

Deins geht aber das von Thorben nicht, keine Ahnung wieso

Ich dreh heut noch durch

Gruß

Ralf
kerstel ist offline   Mit Zitat antworten
Alt 20-08-2003, 14:24   #13 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
was ist denn das für ein mc employees willst du dem die id übergeben.
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 20-08-2003, 14:28   #14 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 35
Hallo,

genau. Der MC Employees soll die _root.id bekommen. In diesem Film werden dann neue Daten anhand der ID geladen

Gruß

Ralf
kerstel ist offline   Mit Zitat antworten
Alt 20-08-2003, 14:32   #15 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
so müsste es gehen im der mc employees kann jetzt die aktuelle_id lesen.
ActionScript:
  1. fmt=new Textformat();
  2. with(this.fmt) {
  3. font="_sans";
  4. align="center";
  5. size=12;
  6. leading=0;
  7. bullet=true;
  8. }
  9.  
  10. MovieClip.prototype.mkHolder = function( al, col) {
  11.          for (var i = 0; i<employee_name.length; i++) {
  12.                  var o = createEmptyMovieClip("mc"+i, i);
  13.                 o.createTextField("feld", 1, 0, 0, 100, 20);
  14.                 // set values
  15.                 o.i=i+1, o._x=0, o._y=i*30, o.feld.text=employee_name[i], o._alpha=al;
  16.                 o.feld.autoSize="left",o.feld.setTextFormat(_root.fmt);
  17.  
  18.                 //draw
  19.                 o.beginFill(col), o.lineTo(100, 0), o.lineTo(100, 20), o.lineTo(0, 20), o.lineTo(0, 0), o.endFill();
  20.                 o.onRelease = function() {
  21.                         _root.aktuelle_id=this.i;
  22.                         _root.employees.play();
  23.                        
  24.                 };
  25.                 // hover-effect
  26.                 o.onRollOver = function() {
  27.                         this._alpha = 100;
  28.                 };
  29.                 o.onRollOut = function() {
  30.                         this._alpha = al;
  31.                 };
  32.         }
  33. };
  34. loadText = new LoadVars();
  35. loadText.onLoad = function(success) {
  36.     _root.employee_name = this.employee_name.split(";");
  37.     _root.mkHolder( 50, 0xcccccc);
  38. }
  39. loadText.load("employee.php?fill=1&departement="+_root.art);
  40.  
  41. stop()
__________________
gruß Harry
HAY 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 05:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele