Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296

    Passaggio di valori fra script

    Buongiorno,
    chi mi da una mano con questo problema?

    In uno script php genero, dinamicamente, una tabella con una serie di righe in cui l’ultimo campo è del tipo:

    Codice PHP:
     echo "<td align=center ><input  type=text name=tara size=3  maxlength=5  value=\"$tara\" class=cella align=left></td>"
    (supponiamo le righe siano 5).
    Questo campo contiene un valore proveniente da DB. Nel campo stesso inserisco un nuovo valore che dovrà andare ad aggiornare il DB.

    Problema: Se aggiorno i cinque campi di input, contemporaneamente, come faccio a passare i valori allo script che aggiornerà il DB?
    Pur volendo aggiornare un solo campo alla volta con un pulsante posto di fianco al campo, come faccio a passare il valore del campo modificato?

    Non so se sono stato abbastanza chiaro nella esposizione… Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570

    Re: Passaggio di valori fra script

    Originariamente inviato da otello
    Non so se sono stato abbastanza chiaro nella esposizione… Grazie
    decisamente no o.o
    sometimes it's just like teaching pigs how to fly

  3. #3
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    Ok! Supponi di avere:

    Codice PHP:
    echo <table><tr>;
    for(
    $i=1;$i<=5;$i++)
    { echo 
    "<td align=center ><input  type=text name=tara size=3  maxlength=5  value=\"$tara\" class=cella align=left></td>";
    }
    echo 
    </tr></table>"; 
    Nei campi di input di questa tabella inserisco dei dati che vorrei passare ad uno script successivo per l’elaborazione. Il fatto è che non so come fare a passarli tutti insieme.

    Più chiaro?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Magari facendo diventare una form la tabella?

  5. #5
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    Originariamente inviato da Alhazred
    Magari facendo diventare una form la tabella?

    Questo ho omesso di dirlo; lo davo per scontato.
    E' tutto predisposto a regola, solo che non mi è mai capitato di dover passare più valori creati dinamicamente e questo è il mio problema.
    Se hai una riga con più valori li passi in qualche modo ( con i loro name o magari gestendo un array), ma se hai più righe con più valori, (in questo caso più righe con un solo valore) come si fa a passarli tutti?

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Peché come nome del campo input non metti tara[] così in ricezione lo leggi come un array?

    Oppure se sai quante righe sono e sono sempre lo stesso numero fai

    name=tara.$i

    e in ricezione leggi i valori $_POST['tara1'], $_POST['tara2'],... fino al numero di righe che ti aspetti.

  7. #7
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    mmm... provo. Ad onor del vero non ho mai utilizzato i name variabili, vediamo che succede

  8. #8
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    Credo di aver bisogno di un ulteriore aiuto riguardo al tuo primo suggerimento(utilizzare un array come name).
    Dato che i name variabili ( o di tipo array) non mi è mai capitato di utilizzarli, ho qualche difficoltà nel definirli. Visto che sei stato così gentile, mi daresti una mano nel capire come fare?

    Grazie.

  9. #9
    Utente di HTML.it L'avatar di otello
    Registrato dal
    May 2003
    Messaggi
    296
    Originariamente inviato da Alhazred
    Peché come nome del campo input non metti tara[] così in ricezione lo leggi come un array?

    Oppure se sai quante righe sono e sono sempre lo stesso numero fai

    name=tara.$i

    e in ricezione leggi i valori $_POST['tara1'], $_POST['tara2'],... fino al numero di righe che ti aspetti.

    Ho fatto così come mi hai suggerito:

    Codice PHP:
    $nome "tara".$indice;
    echo 
    "<td align=center ><input type=text name=\"$nome\" value=\"$tara\" class=cella></td>"
    e, dall'altra parte ho provato a ricevere un solo campo:

    Codice PHP:
    $tara1 $_POST[tara1];
    echo 
    "tara1:$tara1
    "

    Non non visualizza nulla. Dove sbaglio?

  10. #10
    Devi fare una cosa del tipo:

    Codice PHP:
    ...
    echo 
    '<td align="center"><input type="text" name="nome['.$indice.']" value="'.$tara.'" class="cella"></td>';
    ... 
    E poi recuperare i valori con:

    Codice PHP:
    ...
    $_POST['nome'][1];
    ...
    $_POST['nome'][n];
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.