25. januar 2005 - 15:22Der er
11 kommentarer og 1 løsning
Hente flere rækker. PHP, MySQL til Flash
Har et godt kendskab til php og mysql, men er først nu begyndt at knytte Flash og php sammen. Jeg kan godt hente én række ind i flash, men hvad hvis jeg har i.ex. 20 rækker. Kan jeg gemme dem i et array i php, og så hente array'et ind? Resultatet for hver række vil jeg gerne displaye i sit eget movieclip, så det er vel noget med at lave et movieclip, som så 'kopieres'...
Hvordan skal jeg hente dataene ind?
Henvisninger til brugbare artikler er også kærkomne.
At hente ind i Flash er ret basalt. Desværre er det ret begrænset hvad man kan slippe afsted med hvis man udelukkende vil hente tekst. Du kan nemlig hverken hente arrays, objekter eller noget som helst andet ind end lige tekst. Derfor vil jeg anbefale xml, hvis du arbejder med større datamængder. Alternativet er at lave nogle php-sider der leverer et givent indhold på et givent tidspunk - præcis som du er vant til, bare med Flash-syntaks. F.eks. hvis du arbejder med en produktliste, så hent hele listen ind til at starte med, gør hver produkt klikbart, og hent indformationerne om den enkelte vare, når brugeren vælger den.
Den glade Flash-syntaks skal formateres sådan her, hvis du vil have flere ting hentet ind (dvs. at det er PRÆCIS det dit php skal outputte. Ikke noget med hverken <html>, <body> eller andre alm. formateringstags - udover hvis du vil formatere teksten i en variabel):
&variabel1=tekst til var1& &variabel2=tekst til var2& &variabel3=tekst til var3& osv. osv. osv.
Og det henter du så ind ved hjælp af LoadVars objektet. Kender du ikke til det og ønsker uddybning, så spørg bare løs.
..hov, fik ikke lige med, at din ide mht. hvordan du vil strukturere det inde i Flash lyder helt rigtig!
Og et link, når jeg nu er igang. Du skal ikke være i tvivl om, at jeg varmt anbefaler dig at lave det med XML. Er du ikke fortrolig med det, så er her en kærkommen lejlighed til at blive det. Har du bare en smule ambitioner ang. scripting, er det med 100% garanti noget du vil elske dig selv for at have lært (når du lige er kommet over punktet hvor du indædt hader det ;o)
ja, giver lidt mening, men kan ikke få det til at fungere. hente fra php med dette: ----> function hentAlleHold(){ this.loadVariables("http://......load_games.php", "GET"); } hentAlleHold(); <----- Strengen fra php er korrekt, men måske fejler jeg med dit script, da den ikke viser noget :(
..hov, du har vist sneget dig ud på et sidespor. loadVariables() er en outdated, bandeordsfremkaldende måde at gøre tingene på. Du skal i stedet bruge LoadVars-objektet, det er vi meget gladere for ;o)
var k:LoadVars = new LoadVars(); k.onLoad = function() { // her placerer du så smørren ovenfor (og udskifter "loadVarsObjekt" med "this") } k.load("navnetPåDinPHP.php");
Ja ok, du skal så også lige fjerne this. foran createEmptyMovieClip()
..og er det ikke nok, kan du prøve at fjerne with og smide eval("mc" + x) ind foran de nedenstående properties.
Vi er ude i lidt rod med hvor tingene ligger henne. Det er op til dig hvordan du vil strukturere det, der er som sådan ikke noget i vejen med at gøre det på forskellige måder, så vil du hellere lave det med en funktion, så gør bare det. (altså kalde en funktion inde fra onLoad)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.