Creiamo dinamicamente un grafico usando Php, MySql e Flash (Parte II)
Pagina 2 di 3
4. Costruiamo i file php
Bene, la parte in MySQL è completa: passiamo allacreazione della pagina php.
Tale pagina dovrà essenzialmente occuparsi delleseguenti cose
- alla prima esecuzione, selezionerà solo i nomi deigrafici e li manderà al filmato Flash
- una volta che l’utente avrà scelto qualegrafico vedere, la pagina php riceverà la variabilecorrispondente e dovrà quindi selezionare i dati delgrafico scelto dall’utente e spedirli a Flash.
Il compito della pagina php è praticamente finito qui?
Vediamo come possiamo realizzare la cosa: eccovi il codice.
<?$server = "localhost"; // Database Host (usually localhost)$user = "root"; // Username$pass = ""; // Password$database = "grafico"; // Database name$connessione = @mysql_connect($server,$user,$pass); // Connettiamoci a mySql$database = mysql_select_db($database,$connessione); // Selezioniamo il nostro databaseif($_GET[nom]){ // Se esiste la variabile nom (quindi se la richiesta arriva dal nostro filmato Flash) $select = "SELECT * FROM grafici WHERE (nome = '$_GET[nom]')"; // Selezioniamo tutti i dati quando nella tabella // la colonna nome è uguale al valore di $nom (quindi selezioniamo solo i dati del grafico selezionato dal filmato) $result = mysql_query($select); // Eseguiamo la query while($list = mysql_fetch_array($result)){ // Finchè ci sono risultati $nome = $list["nome"]; // Prendiamo il nome del grafico for($n=1;$n<=5;$n++){ // Usiamo un ciclo per estrarre tutti i dati$dato = $list["dati$n"]; // Creiamo una variabile intermedia che ha come valore dati$n (quindi dati1,dati2,dati3...a seconda del valore di $n)$dati .= "&dati$n=$dato" ; // Aggiungiamo ogni volta alla stringa 'dati' una parte (es. &dati0=50|Gennaio) in modo da avere una lunga stringa// che abbia la formattazione necessaria per essere caricato in Flash } } print("nome=$nome$dati"); // Stampiamo a video il nome del grafico e i relativi dati}else{ // Se invece è la prima esecuzione e non è stato scelto nessun grafico $select = "SELECT nome FROM grafici"; // Selezioniamo i nomi dei grafici $result = mysql_query($select); // Eseguiamo la query while($list = mysql_fetch_array($result)){ // Finchè ci sono risultati $n++ ;// Incrementiamo la variabile $n $nome = $list["nome"]; // associamo alla variabile nome il valore attualmente selezionato nella query (quindi // man mano, tutti i nomi di grafici presenti nella tabella) print("nome$n=$nome&"); // stampiamo a video nome$n (quindi nome1,nome2,etc...) = $nome (quindi ogni volta un valore // diverso corrispondente ad un diverso nome di grafico). In questo modo avremo un output del tipo nome1=Graph1&nome2=Graph2&nome3=Graph3& // che è quindi in 'formato gradito a Flash'. In Flash avremo così tutti i nomi dei grafici presenti. }}?>
la parte all’interno diif($_GET[nom]) viene eseguita soloquando la variabile nom esiste (ed è quella chemanderemo da Flash, quindi esisterà solo una voltascelto il grafico) e seleziona tutti i dati del graficoscelto stampandoli poi a video nel formato‘gradito’ a Flash; la parte dopo Else inveceviene eseguita quando non esiste la variabile Nom (e questoin pratica succede solo appena avviato il filmato Flash) esceglie i nomi dei grafici presenti nel database, semprestampandoli a video nel formato che Flash puòcaricare.
Bene, ora viene il bello….il filmato Flash ?
Non serviranno moltissime righe di actionscript, quelle checi saranno magari per alcuni saranno un po’“strane”, ma spero di riuscire a chiarire le coseanche per chi è ai “primi smanettamenti”con Flash + Php ;)
5. La parte Flash MX
Per prima cosa, apriamo Flash e creiamo un nuovo file.
Sulla nostra scena facciamo alcune cose a mano (a tutto ilresto penserà il nostro fido codice Actionscript :D)
- Creiamo le due linee del piano cartesiano per il grafico
- Creiamo una barra verticale (duplicandola otterremo poi tutte le barre per il grafico). Nome istanza: barra0.
IMPORTANTE: il centro di tale movie clip deve coincidere con la linea inferiore della barra che disegneremo - Sopra alla clip appena fatta, ne creiamo un’altra (nome istanza: valore0) contenente un campo di testo dinamico (nome istanza: valore)
- Creiamo un movie clip (nome istanza: label0) con dentro un campo di testo dinamico (Nome istanza: label), appena sotto l’asse X (v. figura)
- Creiamo un campo di testo dinamico in alto a sinistra (v. figura) che mostrerà il nome del grafico attualmente visualizzato. Nome istanza: nome
- Posizioniamo un componente ComboBox in alto a destra nella scena (v. figura). Nome istanza: nomiGraf
Quindi il nostro filmato dovrebbe apparire così
- Articolo precedente Creiamo dinamicamente un grafico usando Php, MySql e Flash (Parte I)
- Articolo successivo Creiamo dinamicamente un grafico usando Php, MySql e Flash (Parte III)