webForumDet fria alternativet

Ta ut ord från databas till flash

Flash

50 svar · 2 061 visningar · startad av calson

Medlem sedan dec. 2003487 inlägg
Frågan#1

Hej
Jag vill göra en form utav logo/toppbild till en sida.
På sidan har jag en massa ord sparade i en databas (MySQL).

det jag vill göra är ett skript (.asp) som hämtar ut blandade ord ur databasen och skickar in till flash dokumentet. I flashdokumentet vill jag att orden ska faida samt bli placerade på olika plattser hela tiden (random), om det går att få orden att inte lappa över varandra vore det även bra.

Någon som kan hjälpa mig att komma igång?

jag kan väldigt lite flash men jag lyckades göra ett exempel på hur jag vill ha det, på ungefär.

Tack på förhand

Medlem sedan feb. 20034 441 inlägg
#2

Du kan ta hem en fil från min hemsida, som laddar in text i flash från en Accessdatabas.

Om du tar hem den och kollar igenom både asp- och flashfil, så får du lite mer insyn i hur det funkar.

Det enda du eg. behöver ändra i ASP koden är databaskopplingen, eftersom du använder MySQL.

Titta igenom och återkom om du har ytterliggare frågor.

<r> Filen heter btw. "visa_data_db-mx.zip" och du hittar den under "Ladda Hem" </r>

Medlem sedan dec. 2003487 inlägg
#3

tack mikael jag ska ta mig en titt på det :)

Medlem sedan dec. 2003487 inlägg
#4

Nu har jag suttit med det här riktigt länge utan framgång.

Finns det någon som kan berätta steg för steg hur jag gör om jag vill:

  1. Plocka ut ordet från MySQL databas med hjälp av en .asp sida (asp kodningen kan jag göra själv om det räcker med att man sparar ordet i en variabel?)

  2. Sätta in ordet i flash dokumentet

  3. Fada ordet och för sedan in nästa ord

  4. Loopa så den hämtar nya ord hela tiden

Vi struntar i att byta placering på orden.

Tack på förhand

Medlem sedan dec. 2003487 inlägg
#5

igen som kan hjälpa mig?

Medlem sedan dec. 2003487 inlägg
#6

Fortfarande ingen?

Medlem sedan dec. 2003487 inlägg
#7

jag har gjort en ny nu där jag använder mig av transform. Jag vill kunna göra en likadan fast jag hämtar orden från en MySQL databas

Medlem sedan jan. 2004501 inlägg
#8

Detta skrev jag i en annan post. Hoppas det hjälper.
http://www.webforum.nu/showthread.php?s=&threadid=111634&forumid=14

Medlem sedan feb. 20034 441 inlägg
#9

Har du löst problemet?

Medlem sedan dec. 2003487 inlägg
#10

Jag har precis kommit hem efter att ha varit borta en vecka men jag sa börja på mitt problem igen och skriva här om jag behöver hjälp :)

Tack för frågan MickeA

Medlem sedan juni 20008 205 inlägg
#11

Xml är väl en aning overkill i det här sammanhanget. LoadVars är enklare. Och här har du ett asp-exempel. Nåt sånt här borde det bli (extremt otestat):

[I]I aspscriptet[/i]
word = TrollaFramOrdetFrånDatabasen()
response.write "theword=" & server.urlencode(word)

[I]I SWF:en[/I]
var vars = new LoadVars();
vars.load("script.asp");
visaOrdet(vars.theword);
Medlem sedan dec. 2003487 inlägg
#12

Jag använder mig av: loadVariablesNum("skriptet.asp", 0, "GET");

Nu börjar det likna något. Jag gör grunden så kommer det säkert några finslipningsfrågor senare :)

Jag hämtar alltså ord från en databas. När den visat 10 ord vill jag att flash ska hoppa till en viss frame, säg 35, och där visa en specialare.

Jag har inte prövat men hade tänkt mig något liknande detta

x = x + 1
if (x==10) {
goto 35
x=0
}

Koden är väldigt lik asp så därför antar jag att man inte kan göra så.

Det jag tänkte här var att plussa 1 på x varje gång flash loopar om. När x = 10 skall flash hoppa till frame 35

Tack på förhand

Medlem sedan dec. 2003487 inlägg
#13

En till fråga angående detta.

Varje gång jag prövar detta kommer det upp samma ord, även om jag tar bort .asp filen samt uppdaterar sidan kommer samma dumma ord fram på flash sidan.

Kan jag uppdatera flash dokumentet eller liknande?

Medlem sedan juni 20008 205 inlägg
#14
// TODO: initiera x till 0
if (++x == 10){
    x = 0;
    gotoAndPlay(35);
}
Medlem sedan feb. 20034 441 inlägg
#15

Tja!
Du kan gå in på min hemsida på http://www.MickeA.com och sen "Ladda Hem". Där finns det filer som visar hur Flash / Asp / Access spelar ihop, både att läsa från databas till Flash och även hur det funkar att skriva info från Flash till Databas.

Då kanske du får lite mer kunskap om hur det funkar att köra de båda sakerna tillsammans.

Det är eg. inte klurigare än att köra Asp med HTML, bara det att man måste formatera variablerna lite annorlunda.

Lycka Till!

Medlem sedan dec. 2003487 inlägg
#16

Jag tar mig en titt, utvecklar mig och kommer sedan tillbaka :)

Tack för all hjälp

Medlem sedan dec. 2003487 inlägg
#17

Nu har jag kommit så långt så flash hämtar ordet från .asp filen men när jag ändrar ordet i .asp filen kommer det ordet som fanns innan i .asp filen och nu vägrar den att ändra ord.

Måste man uppdatera med någon speciell kod för att den skall läsa om från .asp?

Medlem sedan dec. 2003487 inlägg
#18

Väldigt konstigt.

I frame rutan 1 har jag koden: loadVariablesNum("soft.asp", 0, "GET"); och inget annat.

Där borde den starta, hämta informationen ifrån .asp filen soft.asp och sedan skriva ut det i textboxen med namnet NameLast som jag skapat i frame 2.

För att testa om det funkar har jag även skrivit in stop(); i frame 2.

I .asp filen har jag för tillfället denna kod:

<%
response.write "NameLast=hum"
%>

Felet är att swf filen inte verkar läsa ifrån .asp filen längre. Ordet jag hade innan var jeeeeee och det står fortfarande kvar även fast jag ändrat ordet till hum i soft.asp.

Någon som kan förstå felet?

Jag skickar även med en fil där ni kan se hur mitt flash dokument ser ut nät jag markerat textrutan.

Tack på förhand

2.gif
Medlem sedan feb. 20034 441 inlägg
#19

Hmm, prova tom cachen i din webläsare och lägg till:
Response.Expires = -1000 i ditt Aspscript.

Sen undrar jag varför du kör LoadVariablesNum();.

Använd istället:

LoadVariables("http://sökväg_till_scriptet.asp", _root);

GET resp. POST, funkar på samma sätt som med html forumulär, du behöver alltså inte använda det i det här fallet.

Sen eftersom du använder LoadVariablesNum och "0" som sökväg, måste du vara noga med att ange _root som sökväg, när du ska visa dina variabler i textrutan.

Gör såhär:

// Frame 1
LoadVariables("http://localhost/filen.asp", _root);

// Frame 2
If(loaded == "true"){
     delete loaded;     
     gotoAndStop(_currentframe+2);
}

// Frame 3
gotoAndStop(_currentframe-1);

// Frame 4
trace(_root.minVar);
stop();

Såhär ska din ASP fil se ut:

<%
Response.Expires = -1000

Response.Write("&minVar=HejHej det här är värdet på en variabel")
Response.Write("&loaded=true")
%>

Sen provkör du, innefrån Flash, tryck CTRL+<ENTER>, det här ska resultera i att tracerutan i Flash visas värdet på din variabel i ASP filen.

Frame 2 resp. 3 skapar en loop som loopar om och om igen tills det att scriptet är helt inladdat.

Prova och återkom!

Medlem sedan dec. 2003487 inlägg
#20

Tack så mycket.

Jag gjorde som du skrev ovan men fick några error:

**Error** Scene=Search, layer=Layer 1, frame=2:Line 1: Syntax error.
If(loaded == "true"){

Total ActionScript Errors: 1 Reported Errors: 1

275 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)