Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Bobbix
    Registrato dal
    Nov 2009
    Messaggi
    39

    Passaggio dati PHP Javascript

    Salve...

    Ho problemi nel far leggere a Javascript una variabile php.

    In particolare ho un array doppio indice (bidimensionale) con secondo indice di tipo associativo. Es: $variabile[n]['codice'] etc etc

    Quando intercetto con javascript questo valore e lo passo per una chiamata Ajax mi dice che il valore è "Undefined".

    Passando variabili secche... tutto funziona correttamente quindi il problema sta nell'array, forse non posso referenziarlo in javascript?
    La variabile da passare è un input text di un form (un codice appunto per il quale devo reciperare i dati associati via chiamata Ajax).

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Json Rulez!!!!

  4. #4
    Utente di HTML.it L'avatar di Bobbix
    Registrato dal
    Nov 2009
    Messaggi
    39
    Il problema è ancora pià a monte... Javascript non c'entra.

    Guardate qua, questo è il codice:
    Codice PHP:
    <?php     
    for ($ind 1$ind <= 8$ind++ ) {         
    $matrice[$ind]['codice'] = $ind;         
    $matrice[$ind]['descrizione'] = "Descrizione"."$ind";         
    echo 
    "$ind"." - "."$matrice[$ind]['codice']"." - "."$matrice[$ind]['descrizione']
    "
    ;     
    /* NEXT */  
    ?>
    e questo è il risultato:
    1 - Array['codice'] - Array['descrizione']
    2 - Array['codice'] - Array['descrizione']
    3 - Array['codice'] - Array['descrizione']
    4 - Array['codice'] - Array['descrizione']
    5 - Array['codice'] - Array['descrizione']
    6 - Array['codice'] - Array['descrizione']
    7 - Array['codice'] - Array['descrizione']
    8 - Array['codice'] - Array['descrizione']
    Com'è possibile? Dove sbaglio?
    Non dovrebbe uscire qualcosa del genere?

    1 - 1 - Descrizione1
    2 - 2 - Descrizione2
    3 - 3 - Descrizione3
    4 - 4 - Descrizione4
    5 - 5 - Descrizione5
    6 - 6 - Descrizione6
    7 - 7 - Descrizione7
    8 - 8 - Descrizione8
    Mah!!!???

  5. #5
    Ti suggerisco di ricominciare studiando le basi del PHP:

    http://www.php.net/manual/en/languag....syntax.double

    Codice PHP:
    <pre>
    <?php 
    $test 
    = array();
    $test[1]['test'] = 'ABC';
    print(
    "$test[1]['test']\r\n");
    print(
    "{$test[1]['test']}\r\n");
    ?>
    <pre>

  6. #6
    Utente di HTML.it L'avatar di Bobbix
    Registrato dal
    Nov 2009
    Messaggi
    39
    Le basi credo di conoscerle... tieni presente che ho programmato in cobol per 21 anni e oltre, ma sicuramente sono fresco di php quindi alcune sintassi meno usate possono sicuramente essere lacunose per me.

    Il problema è che utilizzando un vettore monodimensionale (e non di tipo associativo), tutto quello che ho fatto funziona bene,
    Infatti proprio in questo momento sto convertendo la matrice in vettore (o meglio ... in tanti vettori per quante sono le colonne che devo referenziare).
    Avrei preferito usare la matrice (visto che devo gestire proprio una matrice in una pagina), ma visto che incontro tutte queste difficoltà per ora ci rinuncio, ci ho perso già troppo tempo.

    Ad ogni modo NON capisco perché se io faccio


    Codice PHP:
    <?php
       $matrice
    [1]['cod'] = "pippo";
       echo 
    "$matrice[1]['cod']";
    ?>
    Mi viene vuori il nome dell'array (cod) che è il secondo indice.

    Se invece faccio (come ho fatto), così
    Codice PHP:
    <?php
       $matrice_cod
    [1] = "pippo";
       echo 
    "$matrice_cod[1]";
    ?>
    Mi viene fuori il valore giusto, ossia "pippo".
    Vedo che tu per il valore della matrice hai referenziato diversamente, ossia con le parentesi graffe, è la prima volta che le vedo in questo contesto, in tutti gli esempi che ho trovato in giro per il web referenziano tutti come ho fatto io $matrice[1]['codice'] e dicono che dovrebbe funzionare... mah.

    Comuqnue ho provato anche il tuo esempio e funziona... ma davvero non capisco perché solo per gli array multidimensionali devo ricorrere a questa sintassi completamente diversa dalle variabili singole o dagli array monodimensionali (o mi sto perdendo qualcosa?).

  7. #7
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Attento a come stampi il valore :

    echo "".$matrice[1]['cod'] ;

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.