Avatar billede donslund Nybegynder
14. marts 2003 - 23:07 Der er 21 kommentarer og
2 løsninger

Hente variable fra mysql database.

Jeg har en top på en hjemmeside hvori der ligger en flashting. I den ting skal jeg bruge det højest tal fra et felt i en mysql database. Kan jeg undgå at skulle igennem asp/php?
Avatar billede baitianlong Nybegynder
15. marts 2003 - 02:22 #1
Nej !

Du skal hente det med netop asp eller php (o;
Avatar billede donslund Nybegynder
15. marts 2003 - 08:41 #2
Finr nok, men jeg kan ikke rigtig få det til at virke.

Mit php-dokument:

<?
$link=mysql_connect("localhost","","");
mysql_select_db("kongeborgen_dk");

$hent="select MAX(vaegt) from projekt90";
$koer_hent=mysql_query($hent);

$vaegt=120;
?>

og actionscriptet i flash:

onClipEvent (enterFrame) {
setProperty(this, _x, (_root.controller.vaegt-70)*11.35+18);
}

burde de 2 gange vaegt ikke henvise til hinanden?
Avatar billede barklund Nybegynder
15. marts 2003 - 12:49 #3
nope :o)

Flash kan ikke trylle og gætte dine php-variabler... Det eneste flash kan er, at læse outputtet fra dit php-script.

Altså skal du i php printe dine variabler som:

variabel1=vaerdi1&variabel2=vaerdi2&...

I din situation:

print "vaegt=120";

Desuden kommer variablerne ikke ind i flash øjeblikkeligt. Det går nogle millisekunder og flash scriptet venter ikke mens den loader, så du er selv nødt til at tjekke, hvornår variablerne er loaded ind. Din approach med en enterFrame er selvfølgelig også en udmærket løsning. Du skal bare loade dine variabler ind i _root.controller med loadVariables og så burde det virke...
Avatar billede donslund Nybegynder
15. marts 2003 - 13:21 #4
Nu ser mit php-dokument således ud:
<?
$link=mysql_connect("localhost","","");
mysql_select_db("kongeborgen_dk");
$resultat = mysql_query("select * from projekt90");
$raekke = mysql_fetch_row($resultat)
print "vaegt=",$raekke[vaegt]);
?> 

i frame 1 i flash har en et mc med navnet controller med følgende:
onClipEvent(load) {
loadVariablesNum("index.php", 0);
}

i frame 2 er:
if (_root.controller.vaegt <> "") {
gotoAndPlay(3);   
   
} else {
    gotoAndPlay(1);
}
i frame 3:
stop();
samt et dynamisk tekstfelt med variabel-navnet:
_root.controller.vaegt


Er det ikke ca. sådan det skal se ud?
Avatar billede barklund Nybegynder
15. marts 2003 - 13:34 #5
Jaa... det skal dog være et "." istedet for et "," som konkateneringsoperator i php-scriptet i din print... derudover er der vist og en parentes for meget.

Du kan teste at dit php-script har det rigtige output ved at køre det direkte i browseren hvor det skal outputte variabler som tidligere beskrevet.

Din approach i flash er næsten rigtig. Du skal blot loade variablerne ind i controller-movieclippet og ikke ind i level0, for så ligger de helt ud i root:

loadVariables("index.php",_root.controller);

Derudover er "<>" flash4-syntax - brug hellere det mere korrekte "!=", selvom det andet selvfølgelig også virker...
Avatar billede donslund Nybegynder
15. marts 2003 - 13:50 #6
Når jeg har rettet disse ting og kører html-filen med flash-filen i, så henter den php-fil jeg henviser til. Hvorfor gør den det?
Avatar billede barklund Nybegynder
15. marts 2003 - 14:12 #7
Jeg forstår ikke? Hvad mener du med, at den "henter den php-fil, som jeg henviser til" - den skal vel hente php-filen for at kunne læse variablen? Du har vel både en htmlside med flashfilmen og en anden side med dit php-script - det skal jo være to separate filer...
Avatar billede donslund Nybegynder
15. marts 2003 - 14:26 #8
Det er seperate filer og når jeg kører den fil med flashfilmen i, så åbner den php-dokumentet som havde jeg trykket på et link for at åbne noget i et nyt vindue.
Avatar billede barklund Nybegynder
15. marts 2003 - 14:48 #9
Har du et movieclip, der hedder _root.controller?
Avatar billede donslund Nybegynder
15. marts 2003 - 15:54 #10
ja
Avatar billede barklund Nybegynder
15. marts 2003 - 16:32 #11
Hmm... så burde den ikke poppe op... det forstår jeg vist ikke rigtig...

har du i dit script:

onClipEvent(load) {
    loadVariables("index.php", _root,controller);
}

og det er det eneste sted, der står noget med index.php?
Avatar billede donslund Nybegynder
15. marts 2003 - 16:40 #12
Ja. I frame et har jeg et mc der er navngivet controller. På dette mc ligger
onClipEvent(load) {
    loadVariables("index.php", _root,controller);
}
og alligevel åbener den et nyt vindue, hvori der står: vaegt=121

Og det er det php-dokumentet spytter ud.
Avatar billede donslund Nybegynder
15. marts 2003 - 16:43 #13
Eller det vil sige, at koden er:

onClipEvent (load) {
loadVariablesNum("hentvaegt.php", _root.controller);
}

men det er jo det samme.
Avatar billede barklund Nybegynder
15. marts 2003 - 16:43 #14
Der skal ikke stå "Num" - så det er jo ikke det samme :o)
Avatar billede donslund Nybegynder
15. marts 2003 - 16:46 #15
Nu åbner den ikke php-dokumentet, men der står heller ikkke noget i det tekstfelt der har variabel-navnet: _root.controller.vaegt
Avatar billede barklund Nybegynder
15. marts 2003 - 17:04 #16
Er det i Flash MX?
Avatar billede donslund Nybegynder
15. marts 2003 - 17:20 #17
jeps
Avatar billede barklund Nybegynder
15. marts 2003 - 17:48 #18
Så lav det med loadVars i stedet:

onClipEvent(load) {
    hentVaegt = new LoadVars();
    hentVaegt.onLoad = function(s) {
        if (s) {
            _root.controller.vaegt = this.vaegt;
        } else {
            _root.controller.vaegt = "fejl"
        }
    }
    hentVaegt.load("hentvaegt.php");
}
Avatar billede donslund Nybegynder
16. marts 2003 - 18:45 #19
når jeg sp har lagt det ind på mitmc, så burde det virke?
Det gør det altså ikke. Og feltet hedder stadigvæk _root.controller.vaegt
Avatar billede lars_frank Nybegynder
26. marts 2003 - 00:07 #20
lytter lige med. Har præcist det samme problem...meget mystisk synes jeg!
Avatar billede donslund Nybegynder
26. marts 2003 - 12:46 #21
Lyt du bare, men jeg har ikke ået det til at virke.
Avatar billede lars_frank Nybegynder
26. marts 2003 - 22:24 #22
Damn, har endelig fået det til at virke. Efter samtlige kombinationer af de forskellige metoder, samt div gåseøjne, situationestegn og jegskagidaskaja...

i første frame skriver du dette:
loadVariables("udskriv_minvar_side.asp", "_root);

i næste frame har du et tekstfelt der bare viser en variabel, kun ved hjælp af navnet på den variabel du skal have udskrevet, som du kender i forvejen.
f.eks. hvis .asp filen udskriver:
minvar=Yamojndo
Skal det dynamiske tekstfelt bare udskrive var: minvar
Avatar billede lars_frank Nybegynder
26. marts 2003 - 22:25 #23
hov...(nu med ekstra '"' )
loadVariables("udskriv_minvar_side.asp", "_root");
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester