Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322

    Errore di sintassi: non riesco a recuperare il valore di un array

    Ciao a tutti
    Vi posto il codice incriminato

    Codice PHP:
    <? $ped=file('../pedane/pedane.txt'); 
       for(
    $p=0;$p<count($ped);$p++) {
         
    $ped[$p]=explode(";",$ped[$p]);
       }
    ?>
    Poi all'interno di una tabella ho creato una select così

    Codice PHP:
          <select style="width: 100%;" name="ped" onchange="fill(<? echo $r+2?>,<? echo $ped[$p][3]; ?>,<? echo $ped[$p][4]; ?>)">
            <option value=""></option><?
            
    for($p=0;$p<count($ped);$p++) {?>
              <option value=""><? echo $ped[$p][1]." in ".$ped[$p][2]." da ".$ped[$p][4]."kg"?></option>
           <?}?>
          </select>
    Ho realizzato che il problema è quando vado a passare

    <? echo $ped[$p][3]; ?>
    <? echo $ped[$p][4]; ?>

    ma non capisco perchè.. pensavo fosse un problema di variabile non globale.. ho provato a dichiararla globale ma niente
    mi vien da pensare che sia perchè $p in quel momento non ha valore?
    ma non so come ottenerlo in quel momento

  2. #2
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    $p o non ha valore o è quello del precedente for, l'ultima riga, che probilmente è una vuota.

  3. #3
    Utente di HTML.it L'avatar di zoseppe
    Registrato dal
    Jan 2005
    Messaggi
    306
    intanto eviterei gli short tags....volevo chiederti una cosa, ma quella $r da dove viene fuori?
    così a me sembra andare:
    Codice PHP:
        echo"
        <select style=\"width: 100%;\" name=\"ped\"\" >
            <option value=\"\"></option>"
    ;

            for(
    $p=0;$p<count($ped);$p++) {
                echo
    "<option value=\"\">".$ped[$p][1]." in ".$ped[$p][1]." da ".$ped[$p][4]." kg</option>";
            }

        echo
    "</select>"

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    Ok, se tolgo l'onchange anche a me funziona
    E' proprio quello che mi serve

    Ho provato a passare solo la variabile $p per vedere che valore avesse.. ed il problema è che ha come valore il massimo ed invece vorrei avesse come valore, l'indice della options selezionata.. se seleziono la 4° scelta, 4 per capirci..

    La funzione di $r è identificativa.. nel senso che ogni cella della tabella ha come id un $r diverso.. mi serve per identificarla quando poi uso le funzioni js document.getElementById(r).value

    Quello che vorrei ottenere è che in base alla scelta, mi viene passato alla funzione js il contenuto di un array il cui indice è uguale a quello della scelta.. se scelgo la 4° devo inviare array[4] per dire..

    visto che in quel modo non riesco, perché a quel punto della dichiarazione della select ho visto che $p ha già il valore massimo.. devo poter passare qualcosa tipo la posizione della option scelta ma all'interno dell'array... ad esempio $ped[selected.index][3] ma non so mica se si fa.. e come si scrive!

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    Sono riuscito passando alla funzione jscript

    Codice PHP:
    onchange="fill(<? echo $r+2?>,<? echo $ped?>,ped.options.selectedIndex)"
    l'array intero $ped
    e l'indice che identifica la scelta fatta

    il problema ora è che non capisco come visualizzare l'array in jscript.. sempre che il valore passato sia leggibile
    Per essere, jscript mi dice che è un array

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.