Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    15

    Creare matrice javascript da matrice php

    Ciao a tutti,

    vi espongo il problema: creo con codice php una matrice denominata $posti, avrei bisogno di poterla maneggiare con javascript quindi vorrei creare una matrice in javascript con gli stessi valori della matrice $posti. Dopo svariate ricerche su Google sono arrivato a scrivere questo:

    codice:
    function load(matrice){
    
    matrice = new Array();
    
    <?php for($i=1;$i<$righe;$i++){
    	for($j=1;$j<$colonne;$j++){?>
    		matrice[<?php echo $i,$j?>] = <?php echo $posti[$i][$j] ?>;
    	<?php }
    }?>
    alert(matrice[1,1]);
    return;
    }
    ma l'alert mi da undefined... in generale comunque vorrei sapere se questa procedura anche l'inversa (ovvero copiare una variabile javascript in una php) è possibile e come si realizza.

    Grazie mille dell'attenzione!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    27
    e come funziona?

    ti conviene passare i dati con json

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    15
    e difatti non lo so come funziona cioè ho letto in giro che alcuni fanno così però io non riesco a farlo funzionare....

    eh cmq non so cosa sia json... ora mi documento....

  4. #4
    Credo che invece di

    codice:
    matrice[<?php echo $i,$j?>] = <?php echo $posti[$i][$j] ?>;
    dovresti usare

    codice:
    matrice[<?php echo $i."][".$j?>] = <?php echo $posti[$i][$j] ?>;
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    15
    provato.... mi da lo stesso problema....

  6. #6
    Chiaramente anche

    codice:
    alert(matrice[1,1]);
    Va modificato in

    codice:
    alert(matrice[1][1]);
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    15
    matrice[1] is undefined.....

  8. #8
    Si, vero, dovresti definire "matrice[i]" come nuovo array:

    codice:
    function load(matrice){
    matrice = new Array();
    <?php for($i=1;$i<$righe;$i++){
                 echo 'matrice['.$i.'] = new Array();';
    	for($j=1;$j<$colonne;$j++){?>
    		matrice[<?php echo $i."][".$j?>] = <?php echo $posti[$i][$j] ?>;
    	<?php }
    }?>
    alert(matrice[1][1]);
    return;
    }
    Comunque questo codice non è molto chiaro.
    Ad esempio, perchè alla funzione load viene passato un parametro "matrice", quando poi tale variabile non solo non viene usata ma amzi viene subiro ridefinita come array?
    Inoltre, per come è organizzato, la "matrice" sarà visibile solo all'interno della funzione load e non nello scope principale.
    Diamo poi per scontato che le variabili php $righe e $colonne sono state definite prima di eseguire questo snippet.

    in generale comunque vorrei sapere se questa procedura anche l'inversa (ovvero copiare una variabile javascript in una php) è possibile e come si realizza.
    In generale è possibile costruire una matrice javascript tramite php con una procedura analoga a quella che hai postato.
    Per definire una matrice php tramite javascript, il problema è più complesso, e richiede tecniche ajax oppure l'apertura di nuove pagine (es tramite location=... oppure con un form creato ed inviato dinamicamente) passando i necessari parametri.
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    15
    Ad esempio, perchè alla funzione load viene passato un parametro "matrice", quando poi tale variabile non solo non viene usata ma amzi viene subiro ridefinita come array?
    si si è che ho fatto un pò di copia e incolla mentre stavo provando soluzioni diverse e mi è venuto fuori un paciugo....

    In generale è possibile costruire una matrice javascript tramite php con una procedura analoga a quella che hai postato.
    cmq ho diciamo "risolto" restando in php senza passare in javascript.... e per il problema inverso farò con il form come hai suggerito.... grazie dell'aiuto scusa per il disturbo!!

    Ciao!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.