Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [PHP] form - recuperare dati di gruppi di input

    Salve a tutti.

    Ho un problema con una form, adesso vi spiego

    tramite un ciclo recupero dei dati da un database e automaticamente per ogni riga mi creo un gruppo di input (1 hidden,2 di tipo text 1 select/option) , circa 500 righe.
    l'utente interagisce con questi input e tramite il pulsante submit manda qesti input in un'altra pagina.

    adesso veniamo al dunque:
    io devo recuperare i dati dalla nuova pagina, ma non so come fare a capire che ad esempio una delle text fa parte della stessa riga della hidden e dell'altra text.

    ad esempio in queste 4 righe
    rispettivamente con questi input hidden - text - text - select/option
    234 Rossi Mario 567890
    235 Bianco Matteo 567532
    236 Ambrosio Nicola 5678786
    237 Miranda Bruno 567098

    come posso a capire che l'input text Rossi fa parte dello stesso gruppo o meglio riga dell'input hidden con valore 234?

    Grazie
    Agos

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    nel html
    Codice PHP:
    <input type="hidden" name="riga[1][id]" value="234" />
    <
    input type="text" name="riga[1][nome]" value="Rossi Mario" />
    <
    input type="text" name="riga[1][telefono]" value="567890" />


    <
    input type="hidden" name="riga[2][id]" value="235" />
    <
    input type="text" name="riga[2][nome]" value="Bianco Matteo" />
    <
    input type="text" name="riga[2][telefono]" value="567532" />

    ... 
    poi nel php:
    Codice PHP:
    foreach ($_POST[riga] as $bla){
       
    $id $bla[id]
       
    $nome $bla[nome];
       
    $telefono $bla[telefono];

       
    mysql_query(update tabella set nome='$nome'telefono='$telefono' where id='$id');

    oppure
    Codice PHP:
    <input type="hidden" name="id[234]" value="234" />
    <
    input type="text" name="nomi[234]" value="Rossi Mario" />
    <
    input type="text" name="telefoni[234]" value="567890" /> 
    e poi
    Codice PHP:
    foreach ($_POST[id] as $bla){
     
    $nome $_POST[nomi][$bla];
     
    $telefono $_POST[telefoni][$bla];
     ... 
    etc


  3. #3
    Ciao grazie delle tue possibili soluzioni

    le ho provate entrambe la prima soluzione funziona perfettamente

    nel ciclo di generazione degli input ho impostato un contatore $i

    in questo modo avevo degli input con nome riga[$i][nomecampo] facendo così riesco a recuperarli tranquillamente facendo tutte le mie operazioni nella pagina di azione.

    Però volevo cercare di capire meglio cosa accade
    riga è un array e per ogni indice c'è un'altro array contenente i miei campi?
    capito bene?.

    poi volevo segnalarti che il tue secondo esempio non mi funzionava.


    Grazie per l'aiuto
    Agos

  4. #4
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    non so se hai capito bene, ma il succo del discorso e' che php ha una feature che loro chiamano array from form element, e che significa che se tu passi un nome di un campo sotto forma di array, php lo interpreta come tale. Questo offre la possibilita di gestire select multipli, di fare cose come quelle che servono a te (raggruppare elementi), etc.


    Non puo' non funzionare il secondo, l'avrai implementato male.

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.