Flash Gallery | Flash Templates | Flash Menu | Flash Design | Flash Audio & Video

Video Corsi Actionscript 3.0


+ Reply to Thread
Page 1 of 5 1 2 3 ... LastLast
Results 1 to 10 of 42

Thread: Recuperare dati da mySQL con Flash CS3

  1. #1
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,618
    Rep Power
    9

    Recuperare dati da mySQL con Flash CS3

    flash templates
    Abbiamo visto come inserire dei dati di un utente in un DataBase con Flash CS3.
    In quel caso, avevamo una form in Flash che inviava i dati dell' utente ad uno script PHP che a sua volta li inseriva nel DataBase mySQL.

    Adesso vediamo come recuperare questi dati.
    Come ho già detto, Flash e mySQL non possono comunicare direttamente e quindi anche in questo caso dobbiamo avvalerci di uno script lato server ( PHP ).
    Inoltre ci serve che l' output per Flash dal PHP sia in formato XML.
    Quindi per prima cosa dobbiamo creare un file PHP che esegue la Query al DataBase e restituisce un output XML a Flash.

    Solo a questo punto possiamo visualizzare i dati con Flash in modi e forme che più ci piaciono.
    In questo caso utilizzo un componente DataGrid.

    Questo tutorial si appoggia sullo stesso DataBase e tabella "clients" utilizzato nel tutorial inserire dei dati di un utente in un DataBase con Flash CS3.
    Creo un file PHP che recupera i dati della tabella "clients" e spara fuori un output in formato XML:
    PHP Code:
    <?php
        
    /*
     *************************************
      Retrieve data from DataBase with Flash CS3                 
      http://www.flepstudio.org     
      Author: Filippo Lughi          
      version 1.0                                
     *************************************
     */
     /******** CHANGE YOUR DATABASE SETTING *******/
        
    $dbhost 'localhost'// database host ( usually localhost )
        
    $dbuser 'root'// database username
        
    $dbpass 'root'// database password
        
    $dbname 'dbname'// database name
        
    $mysql mysql_connect($dbhost,$dbuser,$dbpass);
        
    mysql_select_db($dbname);
        
        
    $Query="SELECT * from clients";
        
    $Result=mysql_query$Query );
        
    $Return="<?xml version=".'"1.0"'." encoding=".'"UTF-8"?>'."\n"."<clients>";
        
        while(
    $client=mysql_fetch_object($Result))
        {
         
    $Return.="<client><id><![CDATA[".$client->ID."]]></id><name><![CDATA[".$client->name."]]></name><surname><![CDATA[".$client->surname."]]></surname><address><![CDATA[".$client->address."]]></address><city><![CDATA[".$client->city."]]></city><state><![CDATA[".$client->state."]]></state><email><![CDATA[".$client->email."]]></email></client>"
        }
        
    $Return.="</clients>";
        
    mysql_free_result($Result);
        echo (
    $Return);
    ?>
    Una volta chiamato lo script, ecco l' output che genera:
    HTML Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <clients>
    	<client>
    		<id>1</id>
    		<name>filippo</name>
    		<surname>lughi</surname>
    		<address>piazza fiorentini 17</address>
    		<city>cesenatico</city>
    		<state>italy</state>
    		<email>info@flepstudio.org</email>
    	</client>
    	<client>
    		<id>2</id>
    		<name>paolo</name>
    		<surname>rossi</surname>
    		<address>via verdi</address>
    		<city>milano</city>
    		<state>italy</state>
    		<email>wewew@fddf.com</email></client>
    	<client>
    		<id>3</id>
    		<name>giacomo</name>
    		<surname>leopardi</surname>
    		<address>via marrone</address>
    		<city>roma</city>
    		<state>italy</state>
    		<email>qwqwqw@gfgfgf.com</email>
    	</client>
    	<client>
    		<id>4</id>
    		<name>antonio</name>
    		<surname>gialli</surname>
    		<address>via viola</address>
    		<city>napoli</city>
    		<state>italy</state>
    		<email>hgfgfd@gfdf.com</email>
    	</client>
    	<client>
    		<id>5</id>
    		<name>andrea</name>
    		<surname>viola</surname>
    		<address>piazza la bomba e scappa</address>
    		<city>torino</city>
    		<state>italy</state>
    		<email>wewewe@dfdfdf.com</email>
    	</client>
    	<client>
    		<id>6</id>
    		<name>paolo</name>
    		<surname>de paoli</surname>
    		<address>via paolino</address>
    		<city>paolopoli</city>
    		<state>italy</state>
    		<email>sdsdsd@fdfdfd.com</email>
    	</client>
    	<client>
    		<id>7</id>
    		<name>alessandro</name>
    		<surname>magno</surname>
    		<address>via da roma</address>
    		<city>roma</city>
    		<state>italy</state>
    		<email>qqwqw@fgfgfg.com</email>
    	</client>
    	<client>
    		<id>8</id>
    		<name>briana</name>
    		<surname>banks</surname>
    		<address>via del padulo</address>
    		<city>genova</city>
    		<state>italy</state>
    		<email>scscssc@ghghggh.com</email>
    	</client>
    	<client>
    		<id>9</id>
    		<name>ruggero</name>
    		<surname>ruggeri</surname>
    		<address>via del rug</address>
    		<city>ragusa</city>
    		<state>italy</state>
    		<email>qwqqw@fdfdfd.com</email>
    	</client>
    </clients>
    Adesso mi creo un FLA che contiene un componente DataGrid sullo stage con nome istanza "my_dg".







    Creo la Document Class, Main.as:
    Code:
    package
    {
    	import flash.display.*;
    	import flash.events.*;
    	import flash.net.*;
    	import flash.xml.*;
    	import fl.controls.ScrollPolicy;
    	
    	public class Main extends MovieClip
    	{
    		private var clients_array:Array=new Array();
    		private var titles_array:Array;
    		
    		public function Main()
    		{
    			addEventListener(Event.ADDED_TO_STAGE,init);
    		}
    		
    		private function init(evt:Event):void
    		{
    			removeEventListener(Event.ADDED_TO_STAGE,init);
    			
    			titles_array=new Array('id','name','surname','address','city','state','email');
    			
    			loadXML();
    		}
    		
    		private function loadXML():void
    		{
    			var loader:URLLoader=new URLLoader();
    			loader.addEventListener(Event.COMPLETE,completeHandler);
    			
    			var request:URLRequest=new URLRequest('http://www.flepstudio.org/swf/ImmagazzinareDati/recuperare/getData.php');
    			try 
    			{
    				loader.load(request);
    			} 
    			catch(error:Error) 
    			{
    				trace('Impossibile caricare il documento.');
    			}
    		}
    		
    		private function completeHandler(event:Event):void
    		{
    			var result:XML=new XML(event.target.data);
    			var myXML:XMLDocument=new XMLDocument();
    			myXML.ignoreWhite=true;
    			myXML.parseXML(result.toXMLString());
    			var node:XMLNode=myXML.firstChild;
    			var n:int=node.childNodes.length;
    			for(var i:int=0;i < n;i++)
    			{
    				var obj:Object=new Object();
    				
    				for(var j:int=0;j < node.childNodes[i].childNodes.length;j++)
    				{
    					if(j==0)
    						obj.id=int(node.childNodes[i].childNodes[j].firstChild.nodeValue);
    					if(j==1)
    						obj.name=node.childNodes[i].childNodes[j].firstChild.nodeValue;
    					if(j==2)
    						obj.surname=node.childNodes[i].childNodes[j].firstChild.nodeValue;
    					if(j==3)
    						obj.address=node.childNodes[i].childNodes[j].firstChild.nodeValue;
    					if(j==4)
    						obj.city=node.childNodes[i].childNodes[j].firstChild.nodeValue;
    					if(j==5)
    						obj.state=node.childNodes[i].childNodes[j].firstChild.nodeValue;
    					if(j==6)
    						obj.email=node.childNodes[i].childNodes[j].firstChild.nodeValue;
    				}
    				clients_array.push(obj);
    			}
    			
    			populateDataGrid();
    		}
    		
    		private function populateDataGrid():void
    		{
    			my_dg.rowCount=5;
    			my_dg.columns=titles_array;
    			my_dg.verticalScrollPolicy=ScrollPolicy.ON;
    			for(var i:int=0;i < clients_array.length;i++)
    			{
    				my_dg.addItem(clients_array[i]);
    			}
    		}
    	}
    }
    Abbiamo 3 funzioni:
    loadXML che chiama il PHP ( output in formato XML ).
    completeHandler che parsa l' output XML del PHP ed inserisce i dati in un Array.
    populateDataGrid che riempie il DataGrid con i dati appunto recuperati dal DataBase tramite il PHP.

    Allego i files:
    Attached Files

  2. #2
    Senior Member Flash Obsessed bulga is on a distinguished road
    Join Date
    Feb 2008
    Posts
    141
    Rep Power
    3

    Question Re: Recuperare dati da mySQL con Flash CS3

    Grazie flep del tutorial ma a me non funziona volevo sapere se qualcun'altro ha riscontrato qualche problema.

    L'errore che mi ritorna è il seguente:
    Code:
    TypeError: Error #1088: Il codice nel documento successivo all'elemento principale deve essere formato correttamente.
    Il file li ho caricati e non sono stati modificati se non per indicare l'accesso al database e l'indirizzo dei file .php

  3. #3
    Senior Member Flash Obsessed bulga is on a distinguished road
    Join Date
    Feb 2008
    Posts
    141
    Rep Power
    3

    Re: Recuperare dati da mySQL con Flash CS3

    Ho ricreato il file php con qualche modifica e adesso funziona, se qualcuno riscontrasse lo stesso problema a creare l'xml dal database mi faccia sapere.

    Ciao

  4. #4
    Junior Member Settled In ossidiana is on a distinguished road
    Join Date
    Nov 2008
    Posts
    13
    Rep Power
    0

    Re: Recuperare dati da mySQL con Flash CS3

    Anche a me non funziona.
    se qualcuno ha il file php corretto, e' possibile averlo.

  5. #5
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,618
    Rep Power
    9

    Re: Recuperare dati da mySQL con Flash CS3

    A me funziona correttamente

  6. #6
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,618
    Rep Power
    9

    Re: Recuperare dati da mySQL con Flash CS3

    Comunque c' era un problema.
    Hoo aggiunto il CDATA così anche se inseriscono i caratteri del tipo "<" l' XML viene comunque scritto correttamente.

  7. #7
    Junior Member Settled In ossidiana is on a distinguished road
    Join Date
    Nov 2008
    Posts
    13
    Rep Power
    0

    Re: Recuperare dati da mySQL con Flash CS3

    Trovato il mio errore . funziona finalmente.
    Scusa se ho dubitato del tuo file...
    Ciao e grazie

  8. #8
    Junior Member Settled In ranxie 23 is on a distinguished road
    Join Date
    Oct 2008
    Posts
    1
    Rep Power
    0

    Riferimento: Recuperare dati da mySQL con Flash CS3

    Ciao,
    essendo nuovo dell'ambiente voorei avere qualche spiegazione perchè a me non funziona;ho poca domestichezza con AS e zero per quanto riguarda PHP.
    Leggendo le vostre discussioni ho capito che devo risolvere un problema sui file php suppongo sui vari indirizzi... mi spiego a me l'inserimento funziona perchè mi da il messagggio di invio ma il recupero no o meglio appare un pannello bianco che presuppongp dovrebbe contenere il "componente" ma nessuna "tabella" ..chi mi può dare una mano.

    Grazie

  9. #9
    Junior Member Settled In allxxx is on a distinguished road
    Join Date
    Jan 2009
    Posts
    7
    Rep Power
    0

    Re: Recuperare dati da mySQL con Flash CS3

    MA bisogna per forza passare tramite xml??
    Non si possono usare come quando passi i dati al database un qualcosa.variabile a cui poi passi il valore estratto dalla query??
    E' una domanda per chiarire.
    mi sembra un assurdità l'essere schiavi nell'uso di un xml!!

    Ciao Allxxx

  10. #10
    Member Flash Addict omar1234 is on a distinguished road
    Join Date
    Aug 2008
    Posts
    94
    Rep Power
    3

    Re: Recuperare dati da mySQL con Flash CS3

    Ragazzi anche a me da l'errore: TypeError: Error #1088: Il codice nel documento successivo all'elemento principale deve essere formato correttamente.
    quando tento di recuperare in flash i dati dal xml generato con php.
    Come avete risolto voi?
    tu Bulga come hai risolto?

+ Reply to Thread
Page 1 of 5 1 2 3 ... LastLast

Similar Threads

  1. Replies: 3
    Last Post: 08-06-10, 16:36
  2. Recuperare dati esterni ciclicamente
    By Kahran in forum Actionscript 3.0 base
    Replies: 2
    Last Post: 23-01-08, 11:04
  3. Flash CS3, interazione con PHP MySql
    By Mattia86 in forum Flash CS3 | PHP | mySQL
    Replies: 15
    Last Post: 25-11-07, 13:09
  4. Flash CS3, interazione con PHP MySql
    By Mattia86 in forum Actionscript 3.0 avanzato
    Replies: 3
    Last Post: 13-11-07, 11:25
  5. GuestBook in Flash CS3 - PHP - mySQL e XML
    By Vlizzard in forum AIUTO utilità free
    Replies: 1
    Last Post: 25-09-07, 17:48

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts