Flash e Database MySQL

Con il tutorial di oggi impareremo come caricare un’immagine presa da un database MySQL con l’utilizzo di una query. Inoltre aggiungeremo un effeto di trasinamento dell’immagine con relativo zoom tramite la rotellina del mouse.

Prima di tutto analizziamo come un filmato Flash può ricevere dei parametri da un file esterno.

Dati=pippo&cognome=esposito&casa=napoli&

Nel nostro esempio, dovendo interagire con un database, creeremo una query usando una Select per stampare in un file .php la sintassi in esempio sopra con la directory dell’immagine.

Dal nostro Database mySQL creiamo una tabella Immagini ed inseriamo un record foto varchar(100), in cui vi sarà la path dell’immagine:

database_esempio.jpg

Creiamo una connessione al database con il file connessione.php

<?php
$con=mysql_connect('localhost','root') or die('non riesco a trovare il server');
mysql_select_db('my_juliuswebdesign',$con)or die("Attenzione non trovo il database");
?>

In questo caso il mio database di chiama my_juliuswebdesign, inseguito voi lo cambierete con il nome del vostro. 

Creiamo ora una pagina di nome dati.php, è inseriamo il seguente codice, per passare dal database a Flash il parametro.

<?php
include('connessione.php'); //creo una connessione
$risultato=mysql_query("Select* from Immagini") or die ("non trovo la tabella"); //seleziono tutto dalla tabella Immagini
$numRecord=mysql_num_rows($risultato);if($numRecord!=0){while($record=mysql_fetch_array($risultato)){
$Foto = $record['foto']; //appoggio il record foto nella variabile foto
echo"immagine=$Foto"; stampo la variabile foto seguita da immagine=
}
}
?>

dati.php stamperà la sintassi corretta per ricevere la path dell immagine prendendo il record dal database.

immagine=https://juliusdesign.wordpress.com/avatar/juliusdesign-128.jpg

  • Aggiungiamo l’effetto di trascinamento sull’immagine

Prima di tutto creiamo un Clip Filmato di nome istanza box che ci farà da contenitore.
In seguito selezioniamo il clip, entriamo nel codice [Tasto rapido F9] è inseriamo il codice per rendere un oggetto trascinabile

on (press) {
this.startDrag();
}
on (release) {
this.stopDrag();
}

  • Leggiamo i dati dal file generato dalla query dati.php

dati = new LoadVars(); //creo una variabile
dati.onLoad = function(success) {
if(success){
foto = this.immagine; //associo foto al parametro immagine
loadMovie(foto, _root.box); // carico la foto nel clip box
}else{
trace("il caricamento non è stato possibile");
};
dati.load(”dati.php”); //invoco il metodo load della classe loadVars
};

  • Aggiungiamo un effetto zoom, tramire il movimento della rotella del mouse.

var mouseListener:Object = new Object(); // creo un oggetto mouseListener
mouseListener.onMouseWheel = function(delta:Number) {
box._xscale += delta; // scalo l'asse delle ascisse
box._yscale += delta; // // scalo l'asse delle ordinate
};
Mouse.addListener(mouseListener); // invoco l'oggeto mouseListener

Scarica il sorgente
Guarda il Tutorial

Annunci

24 thoughts on “Flash e Database MySQL

  1. insomma, io non so dove sbaglio, ma a me non funziona!!!
    il mio file php è:
    $calculation = $_POST['years']*7;
    echo "&returnVal=$calculation";

    e in flash, ottengo come risultato:

    $calculation";

    il codice in flash è

    stop();
    //=================================
    // INIT
    //=================================
    //declare path to php files
    lvOut = new LoadVars(); //create lv object
    lvIn = new LoadVars(); //create lv object
    lvIn.onLoad = function (success) {
    if(success){
    output.text = lvIn.returnVal;//PHP variable value to textbox
    }else{
    output.text = "fail"; //or notify of failure
    }
    }
    //=================================
    // BTN
    //=================================
    myBtn.onRelease = function(){
    lvOut.years = years.text; //assign user-input value to lv property called years
    //lvOut.send(path + "dogyears.php","_blank"); //send to a blank window
    lvOut.sendAndLoad(path + "dogyears.php", lvIn, "POST"); //get results returned to lvIn
    };

    dove:
    un input text chesi chiama years, da un pulsante che si chiama myBtn e da una dynamic text che si chiama output

  2. in teoria se non erro dovrebbe essere scritto
    echo "returnVal=$calculation";
    passando con post years=7

    la variabile che flash prenderà sarà returnVal=49
    non capisco perchè ce scritto la E commerciale prima di returnVal :master: sembrerebbe un ulteriore concatenamento si variabili, ma se tu ne usi solo una…
    comunque hai provato il mio Tutorial??
    saluti

  3. Ciao!
    Complimenti per loscript.
    Sai dirmi perchè mi ritorna l’url dell’immagine nel file swf e non l’immagine?

    … e quindi dico…. se mi ritorna l’url vuol dire che la variabile è stata assegnata, come mai non mi appare l’immagine?

  4. mmm strano..vedendo l’url dovrebbe essere un buon segno, infatti vuol dire che viene salvato…
    questa immagine ha estensioni compatibili con flash?? jpg png gif ecc
    Possibile che sia molto pesante e ci metta tanto a caricarla??
    non lo sò….sto un pò sparando ^_^
    in teoria quell’url viene caricato in un loadMovie… hai cambiato qualcosa a livello di codice AS?

  5. Sembra quasi che siamo in chat! :))
    Grazie ancora una volta per la celerità nel rispondermi, davvero ho bisogno diuno script del ge nere, si vede che lo haicapito. 😛

    Ti posto l’url quasi esatto

    Naturalmente è un’immagine di prova.

    No nello script non ho sostituito assolutamente niente, anche perchè l’ho prelevato questo pomeriggio, dopo che mi sono svenato a trovare qualcosa del genere nel web.

    In pratica mi appare la cornicetta celeste ed in basso ad essa allineato a sinistra dello schermo, in colore grigio, l’url che ti ho inserito.

  6. Provo online, in pratica è come il tuo esempio, sotto esce l’url, giustamente nel campo di testo dinamico, e sopra l’immagine, solo che io l’immagine non la vedo! -.-‘

  7. mi sembra molto strano come ti ho gia detto ^_^ ti vorrei dire di inviarmi i file, ma alla fine dovrebbero essere uguali ai miei.. ^^”

    Hai provato con altre immagini?

  8. A questo punto… posso invitarti su msn? 😀

    Si i file sono gli stessi.

    Si ho sostituito l’immagine con gif, jpeg ed ho provato a dare l’url nell campo del database solo a img/prova.gif

    Non vorrei sia proprio li l problema ora che ci penso, perchè nel tuo zip non cè la query mysql. O.O Quindi è l’unica cosa che ho creato con le mie manine.

  9. nome db: Immagini

    Campo Tipo Collation Attributi Null Predefinito Extra Azione
    id int(11) No auto_increment
    foto varchar(255) latin1_swedish_ci No

  10. Aggiunto a contatti msn, vediamo di risolvere questo problema, credo che non sarò l’unico ad avere bisogno di questo script, e magari facciamo qualcosa di utile per iprosperi! 🙂

  11. Bè… dopo tutti questi giorni di prove rieccomi qui!
    Ho provato e riprovato all’infinito, ma nulla.

    Insomma Julius i file sono quelli tuoi del tutorial, unica cosa è il database, che ti ho pubblicato sopra, e crdo vada bene.

    Ninete continua ad uscirmi l’url dell’immagine ma non l’immagine1 😦

  12. Ok julius…. intanto scusami per il troppo disturbo ingiustificato.

    Dunque la soluzione al problema è questa, dopo l’ennesimo test.

    Lo script funziona benissimo ma accetta solo immagini jpg

    Ora a me serve che legga ogni tipo di immagine. come posso ovviare al problema?

    Grazie per la cortesia e la disponibilità

  13. Grazie Julius per la risposta.
    Io ho caricato jpg e va benissimo, ma provando con la stessa immagine nella stessa directory ma in formato gif oppure png (a me serve la trasparenza sotto l’immagine) non va. 😦

    Certo in teoria dovrebbe funzionare, se carica jpg che differenza cè a caricare un’altro formato?

    Puoi fare tu stesso delle prove perfavore? tanto i file sono gli stessi dei tuoi… anzi sono tuoi! 🙂

    Grazie

  14. Ho fatto delle prove, ed effettivamente i file gif non li carica o.O

    Li caricherebbe se cambi

    loadMovie(foto, _root.box);

    con

    loadMovieNum(foto, 1);

    però a questo punto non gestiresti più lo zoom o.o

    vedo di trovare un’altra soluzione

    ciao

  15. Grazie Julius, a me lo zoom non interessa! 😀

    Approposito… nello script php come faccio per pescare in modo random le immagini?
    Nel database ho aggiunto un campo id autoincrement

  16. inserisci una funzione random che la utilizzerai per cecercare il valore autoincrement
    nel mio caso id
    <?php
    include(’connessione.php’); //creo una connessione
    $val= rand (1, 20);// valore random pesca un numero da 1 a 20 in questo caso
    $risultato=mysql_query(”Select* from Immagini WHERE id=$val”) or die (”non trovo la tabella”); //seleziono tutto dalla tabella Immagini
    $numRecord=mysql_num_rows($risultato);if($numRecord!=0){while($record=mysql_fetch_array($risultato)){
    $Foto = $record[’foto’]; //appoggio il record foto nella variabile foto
    echo”immagine=$Foto”; stampo la variabile foto seguita da immagine=
    }
    }
    ?>

  17. ciao a tutti.
    in questo tutorial ho visto come leggere un campo di una tabella…come faccio a mandare un comando mysql con flash e php?? tipo cancella record, o aggiorna un campo?

    Grazie atutti.
    P.s.
    davvero bravo

Rispondi

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...