Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    Flash+PHP loadVars particolare

    buongiorno a tutti!
    premetto che ho trovato qualcosa che si avvicina vagamente al mio problema in un thread che parlava di array da stampare nel movie.

    Detto questo e che chiaramente il problema non l'ho risolto, passo ad illustrarvi cosa mi sta assillando.

    ho una pagina php che contiene 3 variabili che carico tramite il loadVars nel mio swf.
    perfetto.

    l'swf contiene sostanzialmente una foto e un testo che ho reso dinamiche tramite il suddetto loadVars e l'interfacia con il file php.
    perfetto2.

    ora, il mio problema era quello di voler fare un ciclo per contare quante foto e immagini ci sono, passando la terza variabile che calcola la pagina php.
    quando il contatore, incrementato, arriva ad essere uguale alla variabile, il ciclo riparte dall'init.

    il codice usato è questo:
    codice:
    var count = 4;
    dati = new LoadVars();
    dati.onLoad = function(success){
    	if(success){
    		for ( a=1; a<=count; a++ ) {
    			// istruzioni per il caricamento corretto
    			testo_var=dati.testo;
    			img=dati.img;
    			foto.loadMovie(img);
    			}
    			if (a==count){
    				a=1;
    			}
    		
    	}
    };
    
    dati.load("miofile.php?id="+a);
    le 3 variabili pescate da php sono testo_var, img e count.

    e qui nasce l'altra domanda.
    come faccio a mettere al posto di quel 4 il valore della variabile count che sta nella pagina php?

    Ringrazio chiunque riesca a capirne più di me e mi suggerisca il dafarsi!!

  2. #2
    se nella pagina php metti anche la variabile count il tuo codice diventa

    dati = new LoadVars();
    dati.onLoad = function(success){
    if(success){
    for ( a=1; a<=dati.count; a++ ) {
    // istruzioni per il caricamento corretto
    testo_var=dati.testo;
    img=dati.img;
    foto.loadMovie(img);
    }
    if (a==dati.count){
    a=1;
    }

    }
    };
    ...Ignorance is bliss...

  3. #3
    allora, intanto grazie mille.

    ho provato con qualche esperimento, ma la cosa non sta andando a molto buon fine...

    ho provato a usare il metodo sendAndLoad cosi
    lato client:
    codice:
    dati = new LoadVars();
    
    dati.onLoad = function(){
    	for ( a=1; a<=dati.count; a++ ) {
    		// istruzioni per il caricamento corretto
    		testo_var=dati.testo;
    		img=dati.img;
    		foto.loadMovie(img);
    	}
    	if (a==dati.count){
    		a=1;
    	}
    };
    
    dati.sendAndLoad("miofile.php",dati,"GET");
    lato server:
    Codice PHP:
    <?php
    $count
    =4;
    echo 
    $count;
    if(
    $_GET['pos']==1){
    echo (
    "&testo=1 asdikbjasdlaksjd&img=immagine_01.jpg");
    }else if(
    $_GET['pos']==2){
    echo (
    "&testo=2 asdikbjasdlaksjd&img=immagine_02.jpg");
    }else if(
    $_GET['pos']==3){
    echo (
    "&testo=3 asdikbjasdlaksjd&img=immagine_01.jpg");
    }else (
    $_GET['pos']==4){
    echo (
    "&testo=4 asdikbjasdlaksjd&img=immagine_02.jpg");
    }
    ?>
    in questo modo si impianta il sistema.

    ho provato a sostituire dati.sendAndLoad("miofile.php",dati,"GET"); con dati.sendAndLoad("miofile.php",pos,"GET");
    il risultato è che non si impianta, ma mi restituisce solo i valori per pos=4, saltando il ciclo for.

    AIUTO!!!!

  4. #4
    il formato di outp è sbagliato


    &testo1= .......................&img1=................&
    &testo2= .......................&img2=................&
    &testo3= .......................&img3=................&


    inoltre non ti serve sapere da php quante immagini ci sono perchè se sei certa dell'estrazione e che questa sia numericamente progressiva senza interruzioni
    codice:
    dati.onLoad=function(success){
    
    if(success){
            I=1
            while(this["img"+I] != undefined){
    
                  trace(this["testo"+I] + " -- " + this["img"+I] )
                  I++
            }
    }
    }

  5. #5
    mmmmm

    non sembra funzionare... :rollo:

    e poi io non posso sapere quanti record sono presenti nel db, saranno incrementali e consecutivi, ma non so quanti saranno.

    la pagina php deve stamparmi la stringa &testo= e &img= con i valori che prende direttamente da pos.
    per quello c'è il controllo if, per comodità di avere intanto 4 id.

    ma non funge.

    in realtà a me servirebbe sapere solo il totale dei record, che sarebbe la variabile count

    Codice PHP:
    $count=4;
    echo 
    $count
    che mi determinerà la fine del loop.
    mi sbaglio?

    ma quello che no mi è ancora chiaro è come posso prendere con loadVars le variabili che mi servono e come farle restituire nel swf incrementadone l'id ogni volta che riparte la timeline... vi prego, le ho provate tutte..

  6. #6
    anche se nn ho capito molto

    il totala dei record te lo fai restituire dalla pag php ( di php nn ne capisco una mazza)

    secondo me ti converrebbe leggere tutti i dati e poi nel flash fare quello che vuoi con gli stessi
    magari metti questi dati i degli array


    ma che devi fare?
    una specie di slide con testo?
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  7. #7
    esatto, proprio cosi.

    slide di immagini con relativo testo sotto.

    sto preparando una sorta di "gabbia", nella quale stampare foto e testo corrispondenti inseriti in maniera dinamica.

    per fare questo ho pensato mi servisse:
    1 vaiabile testo
    1 variabile immagine
    1 variabile contatore (funzione php che mi conta i record presenti e mi restituisce un numero)

    poi le richiamo in flash tramite loadVars
    codice:
    dati = new LoadVars();
    preparo un campo di testo dinamico istanziato dove stampare la variabile testo
    codice:
    testo_var=dati.testo;
    preparo un movie vuoto istanziato come foto dove stampare l'immagine
    codice:
    img=dati.img;
    foto.loadMovie(img);
    faccio in modo che la mia scena abbia 100 frame (numero a caso)
    in modo che quando finisce la timeline ritorni nel frame con l'actionscript

    di qui mi pareva logico inserire un ciclo che mi incrementasse l'id e mi facesse cambiare cosi i valori di testo e img
    codice:
    for ( a=1; a<=dati.count; a++ ) {
    		// istruzioni per il caricamento corretto
    		testo_var=dati.testo;
    		img=dati.img;
    		foto.loadMovie(img);
    	}
    	if (a==dati.count){
    		a=1;
    	}
    a questo punto mi chiedo...

    COSA HO SBAGLIATO!?!?!

  8. #8
    insisto è sbagliato l'output


    echo ("&testo=1 asdikbjasdlaksjd&img=immagine_01.jpg");
    }else if($_GET['pos']==2){
    echo ("&testo=2 asdikbjasdlaksjd&img=immagine_02.jpg");
    }else if($_GET['pos']==3){
    echo ("&testo=3 asdikbjasdlaksjd&img=immagine_01.jpg");
    }else ($_GET['pos']==4){
    echo ("&testo=4 asdikbjasdlaksjd&img=immagine_02.jpg");

    tu ottieni

    sempre e solo la variabile testo ed img e non diversifichi le variabili
    testo1, testo2, testo3..........

    è sul php che devi agire

  9. #9
    ma a te conviene caricare tutte la var nell prima chiamata mettere queste var in degli array e scorrere questi senza richiamare sempre la pah php x farti restituire tre var

    quindi devi otterene da php un output come suggerito da rempox aggiungendo anche il numero totale dei record
    poi con loadvars leggi tutte le var
    e le metti negli array


    e poi devi diversificare le var che usi
    ad es
    img1. img2 ....etc
    cosi come x la var testo.......




    edit

    ops anticipato da rempox
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  10. #10

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.