Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-05-2004, 14:41   #1 (permalink)
409coffeemaker
Gast
 
Beiträge: n/a
Baumstruktur SQL //Serienschaltung in AS

Hi,

ich habe eine recht tief verschachtelte MySQL Struktur mit 5 Leveln Tiefe (Kundenwunsch).

Das ganze sind quasi 7 Seiten in einem großen „Portal“.

Klickt man nun auf Level0 dann wird quasi die Umgebung für den entsprechenden Datensatz initialisiert (_global.key_id, Farbwerte etc.…).

Bei einem Klick auf Level1 passiert dann folgendes:

Eine Navigation baut sich wie eine Liste von oben nach unten auf. Das sind dann unsere Parents und bestehen aus Komponenten, die entsprechende Werte aus der DB mitbekommen.
Jeder Parentknoten instanziert onRelease(); seine ChildKnoten. Jeder Childknoten hat nochmal Kinder. Diese Kinder sind dann die Contents (wie zb Bilderserien) und bestehen aus mindestens einem maximal unendlichen vielen Knoten.

In dem Script unten habe ich zum Testen einfach mal diese Contents in die Mitte des Filmes untereinander instanziert.

Nun mein Problem.

Ich möchte nicht sofort alle Contents laden und zur Verfügung stellen, sondern nur den ersten Content.

Alle weiteren Contents sollen dann mit einer Serienschaltung erledigt werden. Stellt euch diese vor, wie bei einem CD Player. FW, RW. Man soll mit diesen Schaltern dann durch die Contents navigieren können. FW einen vor, RW einen zurück. Und dann noch FFW und RRW, nämlich ganz zum Ende oder ganz zum Anfang. Ist es der erste Satz bzw. der letzte Satz, soll der entsprechende F(F)W bzw R(R)W Button nicht mehr aktiv sein.

Ich habe überlegt, diese Buttons direkt mit dem ersten Inhalt zu instanzieren und darauf dann ein LoadVars(); Objekt onRelease() zu legen. Nur Frage ich mich gerade, wie ich an die gesamten IDs der Contentdaten komme.
Da das ganze über ein CMS administriert wird und die Primary Keys Auto Incremented sind, kann es vorkommen, das die PKs nicht fortlaufen sind.
Also müsste ich eine Zählervariable definieren.

Und diese dann eventuell an ein PHP Script in das SQL Statement (ca. so:Limit 1, $_POST[counter]) schicken.

Am einfachsten wäre es natürlich die ganze Inhalte zu instanzieren und komplett in eine Scrollpane zu stecken.

Nur möchte der Kunde das nicht und das Instanzieren und laden von teilweise 120 Bild/Text Serienelemente würde auch zulange dauern.

Jemand eine Idee?

Hier das Script:

ActionScript:
  1. on(release)
  2.     {
  3.     var projectsGroup=new itemOwnerGroup();
  4.     _root.elements.createEmptyMovieClip('level2',1);
  5.     var sender=new LoadVars()
  6.     sender.object=this;
  7.     sender.root_id=_global.key_id-3;   
  8.     sender.sendAndLoad('query.php', sender, 'POST');
  9.     sender.onLoad=function(success)
  10.         {
  11.         if (success)
  12.             {
  13.             var base_y=-65;
  14.             var base_x=-465;       
  15.             for (var i=0; i<this.repeats; i++)
  16.                 {         
  17.                 var CompClip=itemOwnerClass.createSymbol(_root.elements.level2, 'level2_'+i, i, projectsGroup);    
  18.                 CompClip.id=eval('this.id_'+i);
  19.                 CompClip.root_id=eval('this.root_id_'+i);
  20.                 CompClip.date=eval('this.date_'+i);
  21.                 CompClip.name=eval('this.name_'+i);
  22.                 CompClip.image=eval('this.image_'+i);
  23.                 CompClip.link=eval('this.link_'+i);
  24.                 CompClip.txt=eval('this.text_'+i);
  25.                 CompClip._x=base_x;
  26.                 CompClip._y=base_y+(i*20);
  27.                 CompClip.onRelease=function()
  28.                     {
  29.                     this.group.switchSelection(this);                        
  30.                     var projectsGroup2nd=new itemOwnerGroup();
  31.                     _root.elements.createEmptyMovieClip('level3',2);                   
  32.                     var sender2nd=new LoadVars()
  33.                     sender2nd.object=this;
  34.                     sender2nd.root_id=this.id
  35.                     sender2nd.sendAndLoad('query.php', sender2nd, 'POST');
  36.                     sender2nd.onLoad=function(success)
  37.                         {
  38.                         if (success)
  39.                             {
  40.                             for(var j=0; j<this.repeats; j++)
  41.                                 {                  
  42.                                 var CompClip2=itemOwnerClass.createSymbol(_root.elements.level3, 'level3_'+j, j, projectsGroup2nd);
  43.                                 CompClip2.id=eval('this.id_'+j);
  44.                                 CompClip2.root_id=eval('this.root_id_'+j);
  45.                                 CompClip2.date=eval('this.date_'+j);
  46.                                 CompClip2.name=eval('this.name_'+j);
  47.                                 CompClip2.image=eval('this.image_'+j);
  48.                                 CompClip2.link=eval('this.link_'+j);
  49.                                 CompClip2.txt=eval('this.text_'+j);
  50.                                 CompClip2._x=base_x+125;
  51.                                 CompClip2._y=base_y+(j*20);
  52.                                 CompClip2.onRelease=function()
  53.                                     {
  54.                                     this.group.switchSelection(this);
  55.                                     _root.elements.varChar(this.name, this.date);
  56.                                     _root.elements.createEmptyMovieClip('level4',3);
  57.                                     var sender3rd=new LoadVars()
  58.                                     sender3rd.object=this;
  59.                                     sender3rd.root_id=this.id;
  60.                                     sender3rd.sendAndLoad('query.php', sender3rd, 'POST');
  61.                                     sender3rd.onLoad=function(success)
  62.                                         {
  63.                                         if (success)
  64.                                             {
  65.                                             for(var k=0; k<this.repeats; k++)
  66.                                                 {
  67.                                                
  68.                                                 /*
  69.                                                 //Zum Testen wird hier die gesamte Serien untereinander instanziert
  70.                                                 var CompCont=_root.elements.level4.attachMovie('content','content'+k,k);
  71.                                                 CompCont.id=eval('this.id_'+k);
  72.                                                 CompCont.root_id=eval('this.root_id_'+k);
  73.                                                 CompCont.date=eval('this.date_'+k);
  74.                                                 CompCont.name=eval('this.name_'+k);
  75.                                                 CompCont.image=eval('this.image_'+k);
  76.                                                 CompCont.link=eval('this.link_'+k);
  77.                                                 CompCont.txt=eval('this.text_'+k);
  78.                                                 CompCont.loadMovie(eval('this.image_'+k));
  79.                                                 CompCont._x=base_x+325;
  80.                                                 CompCont._y=base_y+(k*100);
  81.                                                 */
  82.                                                 }
  83.                                             delete this.object['sender3rd'];
  84.                                             }
  85.                                         }                        
  86.                                     }
  87.                                 }
  88.                             _root.elements.level3.level3_0.onRelease();
  89.                             delete this.object['sender2nd'];
  90.                             }                  
  91.                         }
  92.                     }
  93.                 _root.elements.level2.level2_0.onRelease();
  94.                 delete this.object['sender'];            
  95.                 }   
  96.             }
  97.         }
  98.     }

Liebe Grüße

Yves
  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 17:03 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele