Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    44

    Probela passaggio variabili da php e inserimento in un array

    Ciao,
    ho un problema.Mediante php leggo i file presenti in una directory, cioè i nomi, e passo questi ad una variabile myVars in flash, potendo raggiungere così i vari nomi come myVars.flyer1, myVars.flyer2, ecc....
    Creando un ciclo for per inserire i valori di queste variabili all'interno di un Array il risultato che ottengo è quello di avere come valory all'interno dell'array uguali al nome delle variabili myVars.flyer1 ecc, oppure ottengo un valore NaN.
    Qui di seguito allego lo script.
    Grazie in anticipo.

    codice:
    stop();
    myVars = new LoadVars();
    //trace("myvars = "+myVars);
    myVars.count;
    myVars.onLoad = verificaRisp;
    function verificaRisp(success) {
    	if (success) {
    		//mioArray = new Array();
    		//trace("Count = "+myVars.count);
    		messaggio.text = myVars.flyer1;
    		image = new Array();
    		image.push(myVars.flyer1);
    		for (var i = 0; i<myVars.count; i++) {
    			//var a = "flyer"+i;
    			//var b = "myVars."+a;
    			//trace(b);
    			mioArray.push(myVars.flyer[i]);
    			//trace("mioArray.length="+mioArray.length);
    			//trace("Elemento"+i+"="+mioArray[i]);
    			//mioArray.reverse();
    		}
    		trace(image);
    	}
    }
    myVars.load("http://localhost/directory/directory.php");

  2. #2
    Se la pagina PHP ti restituisce l'indirizzo delle immagini in una forma simile a questa:
    codice:
    &imag01=images/photo_1.jpg
    &imag02=images/photo_2.jpg
    &imag03=images/photo_3.jpg
    Il caricamento può essere fatto:
    codice:
    // definisco l'array che conterrà i riferimenti alle immagini
    pic = new Array ();
    //
    elenco = new LoadVars();
    elenco.path = this;
    elenco.onLoad = function(success) {
        if(success){
        	for(var prop in this){
    	str = this[prop];
            	stri = str.split("\r").join("");
            	strin = stri.split("\n").join("");
    			// trace("elemento da caricare: "+strin);
    			if (strin != undefined) {
    				this.path.pic[i] = strin;
    				i++;
    			}
        	}
    		//
    		this.path.pic.reverse();
    		//
    		//trace("---inizio tabella-----------------------------");
    		//for (i=0; i < this.path.pic.length; i++) {
    			//trace(this.path.pic[i]+","+i);
        	//}
    		//trace("---fine tabella-----------------------------");
    		elencoacquisito = true;
    	} else {
            infoclip.info.text = "file 'elenco foto' non trovato";
        } 
    }; 
    elenco.load("elencofoto.txt");
    //

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    44
    Grazie,
    appena ho un momento provo lo script e ti faccio sapere.
    Ciao,
    Fabio

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    44
    Avrei un dubbio a cui non riesco darmi risposta:
    come ho scritto prima, le variabili che mi vengono passate da php sono accessibili come myVars.flyern = 28maggio2003.jpg (la n sta ad indicare che li vi è un valore numerico progressivo).
    Quello che mi chiedo è se è possibile mediante un cliclo for, scorrere la variabile myVars, per ogni suo elento flyern con una sintassi del tipo
    codice:
    for (var i = 0; i<myVars.count; i++) {
    mioArray.push(myVars.flyer[i]);
    trace(mioArray);
    			
    		}
    O comunque la mia domanda è, come faccio ad implementare il valore numerico che mi da la possibilità di scorrere i vari elementi nella variabile myVars, perchè se metto ad esempio "myVars.flyer"+1, ottengo myVars.flyer1 ma come stringa e non come nome di variabile che in realta dovrebbe darmi la possibilità di ottenre se stampata a video un valore del tipo 28maggio2003.jpg .
    Grazie in anticipo

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    44
    Ho provato lo script, creando il file txt dove ho inserito le variabili come mi hai indicato.
    Se provo a stampare l'array pic però non mi dà nessun risultato.
    Dove posso aver sbagliato?

  6. #6
    Originariamente inviato da fa_zena
    ...
    ...
    come ho scritto prima, le variabili che mi vengono passate da php sono accessibili come myVars.flyern = 28maggio2003.jpg (la n sta ad indicare che li vi è un valore numerico progressivo).
    ...
    ...
    Il formato è esattamente quello del mio file di testo
    semplicemente, al posto di flyern
    c'è un imagnn

    il codice che ho postato è funzionante.

    Se vuoi il trace del contenuto togli i commenti nella parte che ti evidenzio in arancione
    codice:
    // definisco l'array che conterrà i riferimenti alle immagini
    pic = new Array ();
    //
    elenco = new LoadVars();
    elenco.path = this;
    elenco.onLoad = function(success) {
        if(success){
        	for(var prop in this){
    	str = this[prop];
            	stri = str.split("\r").join("");
            	strin = stri.split("\n").join("");
    			// trace("elemento da caricare: "+strin);
    			if (strin != undefined) {
    				this.path.pic[i] = strin;
    				i++;
    			}
        	}
    		//
    		this.path.pic.reverse();
    		//
    		//trace("---inizio tabella-----------------------------");
    		//for (i=0; i < this.path.pic.length; i++) {
    			//trace(this.path.pic[i]+","+i);
        	//}
    		//trace("---fine tabella-----------------------------");
    		elencoacquisito = true;
    	} else {
            infoclip.info.text = "file 'elenco foto' non trovato";
        } 
    }; 
    elenco.load("elencofoto.txt");
    //

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    44
    Hai ragione, dimenticavo di togliere come commento il trace(elemento ecc....).Unica cosa,
    da questa porzione di codice
    codice:
    trace("---inizio tabella-----------------------------");
    	for (i=0; i < this.path.pic.length; i++) {
    	trace(this.path.pic[i]+","+i);
    	}
    trace("---fine tabella-----------------------------");
    non ottengo la stampa degli elementi dell'array.
    Grazie Paolo per la pazienza

  8. #8
    Originariamente inviato da fa_zena
    Hai ragione, dimenticavo di togliere come commento il trace(elemento ecc....).Unica cosa,
    da questa porzione di codice
    ....
    non ottengo la stampa degli elementi dell'array.
    Grazie Paolo per la pazienza
    per stampa intendi la traccia nel finestra di output in fase di test movie, vero?

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    44
    Esatto, proprio quella.

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    44
    Sono riuscito ad ottenere il risultato che volevo.
    Posto il codice così vedi cosa ho usato. Grazie dell'aiuto Paolo

    codice:
    stop();
    myVars = new LoadVars();
    imageArray = new Array();
    //trace("myvars = "+myVars);
    myVars.count;
    myVars.onLoad = verificaRisp;
    function verificaRisp(success) {
    	if (success) {
    		//mioArray = new Array();
    		//trace("Count = "+myVars.count);
    		messaggio.text = myVars.flyer1;
    		for (var i = 1; i<myVars.count; i++) {
    			var a = "flyer"+i;
    			var b = myVars[a];
    			//trace(b);
    			imageArray.push(b);
    			//trace("mioArray.length="+imageArray.length);
    			//trace("Elemento"+i+"="+c);
    			imageArray.reverse();
    		}
    	}trace(imageArray);
    }
    myVars.load("http://localhost/directory/directory.php");

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.