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

    Gestione delle radio buttons

    Ciao a tutti, ho una serie di records prelevati dal db e ad ognuno di loro ho associato un radio button aventi lo stesso name = "selezione[ ]".


    Cliccando sul submit del form in cui sono contenute queste righe, verrà eseguito un ciclo foreach che preleva tutti i radio button (selezionati e non), ed eseguire una query che andrà a fare un "update" nella tabella del db dedicata associando ad ogni record, un valore "null" ai deselezionati e un valore "Si" all'unico selezionato..


    Ho impostato il tutto così, ma associa il valore "Si" a tutti i records senza fare distinzioni.. dove sbaglio?:



    while ($r = $query->fetch())


    {

    …<input type="radio" name="selezione[ ]" value="Si" /></p>

    }


    <input type="submit" name="conferma" id="conferma" value="Conferma" />


    </form>





    foreach ($_POST['selezione'] as $key => $selezione)


    {


    !isset($_POST['selezione']) ? $selezione = null : $selezione = $_POST['selezione'];

    query che aggiorna i dati



    }

  2. #2
    fai un print_r($_POST) e vedi quello che ti arriva, da li poi fai i controlli del caso
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Qualunque voce seleziono, ottengo sempre

    Array ( [0] => Si ) 1

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    normale che faccia così, il value delle radio è sempre "Si"... e dato che le puoi selezionare solo singolarmente l'array $selezione conterrà sempre solo un elemento con valore "Si"

  5. #5
    Credevo che il concetto fosse lo stesso delle checkbox, a differenza che le radio si deselezionano automaticamente (difatti con le checkbox non ho problemi).. Comunque anche lasciando il value = "" o anche cancellandolo, non cambia nulla.. Come posso prelevare tramite array anche i valori deselezionati?

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    i valori deselezionati non li prendi di sicuro con i radio button
    o usi le checkbox oppure raggruppi i radio button che sono mutualmente esclusivi

    spiega bene cosa devi fare, si fa prima e si centra bene la soluzione

  7. #7
    Detto in due parole devo poter associare un valore ad una sola voce selezionata e allo stesso tempo permettere solo UNA selezione..

    In pratica ho una lista di nomi (inseriti ed eliminati in continuazione) prelevati da una tabella del db strutturato indicativamente questo modo:

    id - nome - vincitore
    1 - mario - (null)
    2 - gianni - (null)
    3 - franco - (null)
    4 - marco - (null)

    Una normale query estrapola tutti questi valori in una pagina PHP nella quale ho associato ad ognuno di loro delle radio button. Se ad esempio seleziono la voce numero 3 e cliccando sul submit, un'apposita query registrerà i dati così:

    id - nome - vincitore
    1 - mario - (null)
    2 - gianni - (null)
    3 - franco - Si
    4 - marco - (null)

    Comunque dato che con i radio button posso prelevare un solo valore, ho escogitato la soluzione (teorica) in questo modo:
    Alla radio button setto value="$r['id']" in modo da catturare il rispettivo id selezionato e farò eseguire due query: la prima che azzera la colonna "vincitore", la seconda che associa il valore "Si" all'id selezionato..

  8. #8
    Detto fatto, funziona perfettamente!!

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.