Visualizzazione dei risultati da 1 a 5 su 5

Discussione: da PHP a js

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    42

    da PHP a js

    Ciao ragazzi, vi espongo prevemente il mio problema.
    Effettuo una query mediante php su una tabella di cui a priori non conosco ne il numero di record ne il numero di campi. Ora necessito di passare il risultato della select a javascript.
    La soluzione che stavo provando è la seguente:
    Creare una matrice in php riempita con i risultati ottenuti e poi passarla a js. Il primo passo (riempire la matrice in php ) sono riuscito a farlo, ora il problema è passarlo a js, con un semplice vettore ci sono riuscito, ma con una matrice no.
    Cmq è accettata e gradita qualsiasi altra soluzione l'importante è che riesca a portare i record ottenuti dalla query in js.




    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    qualcosa del genere?
    Codice PHP:
    <?php
    $sql 
    "SELECT * FROM pippo";
    $resultSet mysql_query($sql);
    $i 0;
    $jsscript "";
    while(
    $row mysql_fetch_assoc($resultSet))
    {
    $jsscript .= "
    mioArray[
    $i] = new Array();
    "
    ;
      foreach(
    $row as $fieldName => $fieldValue)
      {
        
    $jsscript .= "mioArray[$i]['$fieldName'] = '$fieldValue';
    "
    ;
      }
      
    $i++;
    }
    ?>
    <script language="javascript">
    var mioArray = new array();
    <?php echo $jsscript?>
    </script>
    Data una tabella pippo del tipo
    id valore
    1 pluto
    2 paperino

    dovresti ottenere un javascript del tipo
    Codice PHP:
    var mioArray = new array();

    var 
    mioArray[0]=new array();
    var 
    mioArray[0]['id'] = '1';
    var 
    mioArray[0]['valore']='pluto';

    var 
    mioArray[1]=new array();
    var 
    mioArray[1]['id'] = '2';
    var 
    mioArray[1]['valore']='paperino'
    E' quello che ti serviva?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    42

    Si è quello che mi serve ma non va....

    Si è esattamente quello che mi serve... però l'unico problema è che non mi funziona lo script js. Posto il codice.


    $sql = "SELECT Latitudine,Longitudine FROM jos_google_frank_mark where Testo='Lecce'";
    $resultSet = mysql_query($sql);
    $i = 0;
    $jsscript = "var mioArray = new Array();
    ";
    while($row = mysql_fetch_row($resultSet))
    {
    $jsscript .= "var mioArray[$i] = new Array();
    ";
    foreach($row as $fieldName => $fieldValue)
    {
    $jsscript .= "mioArray[$i][$fieldName] = $fieldValue;
    ";
    }


    $i++;
    }
    echo "inizio
    ".$jsscript."
    Fine";


    echo "<SCRIPT Language=\"Javascript\">\n";
    //echo "var mioArray = new Array();\n";
    //echo "mioArray[33] = new Array();\n";
    //echo "mioArray[33][0] =40.2716675904442;\n";
    //echo "alert (\"ArrayProva\" + mioArray[33][0]);\n";

    echo "$jsscript";
    echo "alert (\"mio Array\" + mioArray[0][0]);\n";

    echo "</SCRIPT>\n";


    Se eseguo questo codice così come l'ho postato non mi funziona, non viene visualizzato alcun alert.
    Se eseguo il codice commentato questo funziona solo se commento la riga echo "$jsscript";
    in sostanza quando questa viene eseguita non mi funziona lo script.
    Come avrai notato ho stampato la variabile $jsscript per vedere cosa conteneva. Questo è il suo contenuto.

    inizio
    var mioArray = new Array();
    var mioArray[0] = new Array();
    mioArray[0][0] = 40.3528236908378;
    mioArray[0][1] = 18.175163269043;

    Fine

    Come posso risolvere?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Alcune cosette

    Il codice cerca di postarlo all'interno del tag PHP che fornisce il forum... è più leggibile

    La variabile $jsscript contiene JAVASCRIPT e quindi non deve avare alcun "
    " ma dei veri e propri a capi come avevo messo io

    ad esempio l'istruzione
    Codice PHP:
    $jsscript .= "mioArray[$i][$fieldName] = $fieldValue
    "

    deve essere così
    Codice PHP:
    $jsscript .= "
    mioArray[
    $i][$fieldName] = $fieldValue;
    "

    Poichè non si tratta di HTML e quindi il "
    " non c'entra un fico secco


    Inoltre togli questa istruzione
    Codice PHP:
    $jsscript .= "var mioArray[$i] = new Array(); 
    "

    Che è proprio sbagliata e non ci va(errore mio)

    Un ultima cosa. Scaricati Firefox con il debugger di javascript che ti dice che errori ci sono nella pagina javascript altrimenti stai sempre ad impazzire con gli alert

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    42

    Ok Funziona

    Non so che errore avevo commesso, ma il tuo codice funziona perfettamente.
    Ti ringrazio sia per il codice che per il consiglio di usare Firefox.

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.