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:

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=http://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











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
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
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?
ciao nel database viene salvato l’url correttamente?
Grazie julius per la celere risposta.
Comunque nel database cè l’url http://www.sito.estensione/cartella/immagine.estensione
e nel movie flash mi viene fuori l’url che ti ho appena indicato e non l’immagine.
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?
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
http://www.********.com/img/prova.gif
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.
Questa cosa è molto strana o.O lo provi in Locale o Online??
se ti da errore Online inviami i file che lo controllo
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! -.-’
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?
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.
si ok per msn…
cmq la query è descritta nell’articolo…
nome db: Immagini
Campo Tipo Collation Attributi Null Predefinito Extra Azione
id int(11) No auto_increment
foto varchar(255) latin1_swedish_ci No
Guarda in teoria se nel filmato flash vedi l’url in grigio dovrebbe funzionare l’interazione con il DB…
ora stacco…magari ci ri-aggiorniamo domani
ciao
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!
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
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à
be in teoria dovrebbe funzionare anche con gif e png, tu cosa hai caricato?
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
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
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
inserisci una funzione random che la utilizzerai per cecercare il valore autoincrement
nel mio caso id
<?phpinclude(’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=
}
}
?>
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
Ciao Antonio,
dai uno sguardo a questo 3D sul forum di HTML.it