Visualizzare immagini random immagazzinate in un database

In questo articolo descriveremo come visualizzare unaimmagine e un testo random presi da un database MySQL.

Il nostro database "rubrica" è compostodalla seguente tabella:

CREATE TABLE 'informazioni' ('id' INT NOT NULL AUTO_INCREMENT ,'immagine' VARCHAR( 100 ) NOT NULL ,'notizia' VARCHAR( 255 ) NOT NULL ,PRIMARY KEY ( 'id' ));

La pagina php che manda le informazioni al file flash sichiama "dati.php" ed cosi composta:

<?$user='root';$password='';$host='localhost';$database="rubrica";mysql_connect($host,$user,$password);mysql_select_db($database);$dati=mysql_query("select * from informazioni order by rand() limit 1");$NumEntries=mysql_num_rows($dati);while($array=mysql_fetch_array($dati)){echo"&immagine=$array[immagine]&notizia=$array[notizia]";}?>

Nello stage avremo una dynamic text con nome d'istanza"notizia" che conterrà iil valore del camponotizia.

L'animazione è composta da un solo frame che hacome action:

stop();var caricadati=new LoadVars();caricadati.load("http://127.0.0.1/leggiimg/dati.php"); //percorso del file dati.phpcaricadati.onLoad= function(success){if(success){ //se il caricamento avviene con successoObj = new Object();Obj._x = 10;Obj._y = 10;_root.attachMovie("carica" , "spieler" ,4, Obj); //attaca l'immagine al moviecliploadMovie(caricadati.immagine,"spieler"); //carica l'immagine//preloader esterno attesaObjp = new Object();Objp._x = 100;Objp._y = 100;_root.attachMovie("attesa" , "attesa_" ,5,Objp);spieler.onEnterFrame = preload;//notizia.text=caricadati.notizia; //carica nella casella notizia il contenuto di notizia}else{ //se il caricamento non avviene con successonotizia.text="Non sono riuscito a caricare";}}//funzione preloader esternofunction preload(){cars = spieler.getBytesLoaded();tots = spieler.getBytesTotal();perc = Math.round(cars / tots * 100);attesa_.quanto=perc+ "%"; //nel movieclip del caricamento con campo di testo con var "quanto"if (cars == tots){attesa_.unloadMovie();}}

Quello che noi dobbiamo creare è una animazione per ilpreload delle immagini chiamato "attesa" edesportato col nome "attesa" nel primo frame(linkage ...) e un movieclip vuoto chiamato"carica" ed esportato col nome "carica"nel primo frame (linkage ...).