Ciao a tutti,
dovrei fare un'applicazione che da flash legge i contenuti da una db MYSQL.
Uso php x leggere i dati mysql, da php formatto i dati in un file XML, poi da flash leggo il file XML e stampo a video i risultati.
E' il procedimento giusto??![]()
Ciao a tutti,
dovrei fare un'applicazione che da flash legge i contenuti da una db MYSQL.
Uso php x leggere i dati mysql, da php formatto i dati in un file XML, poi da flash leggo il file XML e stampo a video i risultati.
E' il procedimento giusto??![]()
Stega
:-)
potresti saltare anche l'xml cmq così è anche giusto!
da flash chiami la pagina php che legge i risultati e li restituisce sotto forma di variabili in questo modo:
var1=valore&var2=valore&var3=valore
non ti conviene formattare il file xml ad ogni richiesta... anche se può andare lo stesso
deve ricevere un array contenente i dati x una gallery di lavori, xcui ci sarà un numero totale di record, che utilizzerò x creare diversi frame(mica posso visualizzare tutti i record in un frame unico), diciamo 4 record x frame, poi ogni lavoro avrà una variabile x la data, una x il cliente, una x la descrizione del lavoro, una x i linguaggi usati, una x i link ed una x lo screenshot.
Pensavo che usando xml avrai semplificato la lettura di tutte questa variabili in flash..
Ora sto cercando di fare la parte in php che legge dal database e crea il file xml che deve essere parsato da flash..
A proposito, hai qualche consiglio x la creazione del file xml??
Stega
:-)
non ti serve di parsare per forza il tuo file xml... anche perchè secondo me crearne uno ad ogni chiamata è un sovraccarico di lavoro per il server sicuramente evitabile... per quanto riguarda i dati usi l'oggetto LoadVars (guarda la guida o cerca sul forum) che puoi sfruttare benissimo per fare ciò che vuoi:
mandare dati a php
caricare la risposta del server e controllare l'avvenuto caricamento.
per quanto riguarda il parsing potrebbe risultarti più semplice la parte flash, ma eviteresti il casino per crearti l'xml da php.
se tu vuoi un array puoi crearti una stringa in questo modo:
echo "array1=valore1|valore2|valore3&array2=valore1|val ore2|valore3";
in flash avrai due stringhe:
array1
e
array2
tu le splitti così e avrai i tuoi array:
arr1= array1.split("|");
arr1= array2.split("|");
questo è il metodo principale, poi se vai ad esempio sul sito di sephiroth (www.sephiroth.it) c'è una classe che ti permette di passare interi oggetti o array di oggetti (ma anche array normali) tra flash e php e viceversa, in pratica serializza i dati e li unserializza. cmq anche come ti ho detto io è una buona strada.
la chiamata la faresti così:
codice:dati= new LoadVars(); dati.var1="valore"; // questa la passi a php dati.var2="valore"; // questa pure dati.sendAndLoad("pagina.php",dati,"post"); dati.onLoad= function(){ arr1= dati.array1.split("|"); arr2= dati.array2.split("|"); }
in php ti trovi var1 e var2 nell'array $_POST[] e per rispedire i tuoi array devi fare come ti ho detto sopra cioè un'echo in questo modo:
echo "array1=valore1|valore2|valore3&array2=valore1|val ore2|valore3";
Per quanto riguarda la paginazione la cosa è un pò diversa... non c'entrano i frame...
CIAO
ho dato un'occhiata a quel file sul sito di sephiroth, molto molto interessante..
Cmq ero intenzionato a farla usando xml, vorrei cercare di impararlo visto che si sta affermando sempre + come linguaggio di scambio dati..
Sono riuscito a creare il file xml da php leggendo il contenuto del database, era veramente una caz***a... :-)
Adesso mi sono scaricato un paio di esempi di news in xml, sfrutto quella base e vedo di tirar fuori qualcosa..
grazie cmq dell'aiuto..
Stega
:-)
ok... fai come vuoi solo che le applicazioni devono essere utilizzate nei loro contesti e questo non mi sembrava quello giusto!
CIAO
ma + che altro lo faccio x imparare a gestire i dati presi da file xml esterni..
Nel frattempo sono andato avanti, ho realizzato anche la prima parte in flash, caricare il file xml generato da php e salvare i dati che voglio del fgile xml in array.
Adesso xò non mi riesce inserire i valori degli array dentro a dei campi di testo dinamici...
Mi spiego meglio..
questo è il codice che ho sul frame che carica il file xml:
contemporaneamente sullo stage ho una serie di campi di testo dinamici:Codice PHP:// initialize
myXML = new XML();
IdLavoro = array();
NomeCliente = array();
Anno = array();
Descrizione = array();
Linguaggi = array();
Url = array();
who = array();
year = array();
language = array();
description = array();
address = array();
max = 4;
i = 0;
myXML.ignoreWhite = true;
myXML.load("getgallery.xml");
myXML.onLoad = function(){
totale = myXML.childNodes.length;
total ="Ci sono "+ totale +" lavori nel database";
while(i < max){
IdLavoro[i] = myXML.childNodes[i].childNodes[0].firstChild.nodeValue;
NomeCliente[i] = myXML.childNodes[i].childNodes[1].firstChild.nodeValue;
Anno[i] = myXML.childNodes[i].childNodes[2].firstChild.nodeValue;
Descrizione[i] = myXML.childNodes[i].childNodes[3].firstChild.nodeValue;
Linguaggi[i] = myXML.childNodes[i].childNodes[4].firstChild.nodeValue;
Url[i] = myXML.childNodes[i].childNodes[5].firstChild.nodeValue;
who[i] = NomeCliente[i];
year[i] = Anno[i] ;
language[i] = Linguaggi[i] ;
description[i] = Descrizione[i] ;
address[i] = "[url='http://"+Url[i]+"']"+Url[i]+"[/url]" ;
trace(i);
trace(who[i]);
trace(year[i]);
trace(description[i]);
trace(language[i]);
trace(address[i]);
i++;
}
}
stop();
who0,who1,who2,who3
year0,year1,year2,year3
etc etc
Ora finchè si trattava di avere una variabile che non era un array contenete il valore preso dal file xml non c'era problemi, lo stampava a video senza problemi, ma adesso invece di stamparmi il valore dell'array mi scrive:
_level0.who0 _levelo.who1 etc etc..
come diavolo devo fare x far scrivere il valore dell'array dentro il campo di testo??
X adesso i campi di testo sono messi semplicemente sullo stage, ma una volta risolto il problema vorrei crearli duplicando l'unico esistente..
Stega
:-)