Visualizzazione dei risultati da 1 a 6 su 6

Discussione: rilevare

  1. #1

    rilevare

    Ciao ragazzi un aiuto per favore,
    ho un form con una serie di dati iterati.

    In sostanza ho una serie di record con 5 campi per record di cui dovrei aggiornarne 3 e vorrei farlo con una sola query, multiple update.

    Al momento il problema più grande è riuscire a gestire i gruppi di radio button, ogni record ha un gruppo radio e per riuscire a fare selezionare i vari gruppi radio l'unico metodo che ho trovato per diversificare il name di tutti è stato quello di aggiungere l'id del record, adesso però ho il problema di capire come ricevere il dato, come gestisco adesso la var; "$_POST['risposta']"?


    codice:
    <fieldset id="group_radio">
        <input name="risposta_$id" type="radio" value="1" />
        <label>SI</label>
        <input name="risposta_$id" type="radio" value="2" />
        <label>NO</label>
        <input name="risposta_$id" type="radio" value="3" />
        <label>N/A</label>
    </fieldset>
    <input type="hidden" value="$id" name="id[]">
    
    
    <fieldset id="group_radio">
        <input name="risposta_$id" type="radio" value="1" />
        <label>SI</label>
        <input name="risposta_$id" type="radio" value="2" />
        <label>NO</label>
        <input name="risposta_$id" type="radio" value="3" />
        <label>N/A</label>                                                                
    </fieldset>
    <input type="hidden" value="$id" name="id[]">
    
    
    <fieldset id="group_radio">
        <input name="risposta_$id" type="radio" value="1" />
        <label>SI</label>
        <input name="risposta_$id" type="radio" value="2" />
        <label>NO</label>
        <input name="risposta_$id" type="radio" value="3" />
        <label>N/A</label>
    </fieldset>
    <input type="hidden" value="$id" name="id[]">

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    523
    prova a vedere questo esempio con un solo set di radio buttons,
    trovi la gestione del valore letto da db
    e la gestione del valore di default, se non viene fatta nessuna scelta perché non impostato dal db
    Codice PHP:
    <?php$groupRadio1 null;  // valore (1, 2, 3) che può essere letto dal DB, 
    if(!empty($_POST) and empty($_POST["groupRadio1"])) { $_POST["groupRadio1"] = $_POST["groupRadio1h"]; }
    print_r($_POST); echo "<br /><br />";
    ?><!DOCTYPE html><html>  <body>    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">      <table border="0">        <tr>          <td><input type="radio" name="groupRadio1" value="1" <?= ($groupRadio1 == 1) ? "checked " ""?>/></td>          <td>SI</td>        </tr>        <tr>          <td><input type="radio" name="groupRadio1" value="2" <?= ($groupRadio1 == 2) ? "checked " ""?>/></td>          <td>NO</td>        </tr>        <tr>          <td><input type="radio" name="groupRadio1" value="3" <?= ($groupRadio1 == 3) ? "checked " ""?>/></td>          <td>N/A</td>        </tr>      </table>      <br />
          <input type="hidden" value="3" name="groupRadio1h">
          <br />      <br />      <input type="submit" value="Submit Form">    </form>  </body></html>
    se ho capito quello che ti serve, e l'esempio é pertinente puoi adattarlo e gestire gli altri set radio

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    523
    <?php
    $groupRadio1 = null; // valore (1, 2, 3) che può essere letto dal DB,


    if(!empty($_POST) and empty($_POST["groupRadio1"])) { $_POST["groupRadio1"] = $_POST["groupRadio1h"]; }


    print_r($_POST); echo "<br /><br />";


    ?>
    <!DOCTYPE html>
    <html>
    <body>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <table border="0">
    <tr>
    <td><input type="radio" name="groupRadio1" value="1" <?= ($groupRadio1 == 1) ? "checked " : ""; ?>/></td>
    <td>SI</td>
    </tr>
    <tr>
    <td><input type="radio" name="groupRadio1" value="2" <?= ($groupRadio1 == 2) ? "checked " : ""; ?>/></td>
    <td>NO</td>
    </tr>
    <tr>
    <td><input type="radio" name="groupRadio1" value="3" <?= ($groupRadio1 == 3) ? "checked " : ""; ?>/></td>
    <td>N/A</td>
    </tr>
    </table>
    <br />


    <input type="hidden" value="3" name="groupRadio1h">


    <br />
    <br />
    <input type="submit" value="Submit Form">
    </form>
    </body>
    </html>
    riprovo così

  4. #4
    Grazie marino51 per la risposta, per� scusami non ho capito.
    Quello che vedo (se non capisco male) � un solo gruppo di radio button e quindi non avrei problemi, il mio problema � che ho un'elenco di radio button nella pagina, una tabella formata da 61 record e in ogni record ho un gruppo radio con 3 radio button di valore = 1,2,3.
    Per riuscire a gestirli tutti devo per forza cambiare il name di ogni gruppo altrimenti se ne pu� selezionare un solo radio group, a meno ch� no nsi possa fare in qualche modo che ignoro, per questo chiedevo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    189
    Inizialmente dovrai avere un checked di default per ogni gruppo altrimenti non stai seguendo gli standard di html.
    Puoi usare le parentesi quadre dentro l'attributo name del form html e php trasforma in array.
    name="name[]"
    name="name[]" quando inviati tutti e due php crea la chiave iniziando da 0 name[0] o name[1] va anteposto $_POST avevamo detto crea un array, ovviamente lo farà in tale variabile quando il form è inviato con metodo POST.
    Ultima modifica di darbula; 07-12-2020 a 20:56

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    523
    se la tabella con i gruppi e' statica, puoi usare nomi "fissi",
    tutti i radio del primo gruppo avranno name="groupRadio1"
    tutti i radio del secondo gruppo avranno name="groupRadio2"
    proseguendo cosi' per ciascun gruppo

    se la tabella e' dinamica, devi usare un'array
    tutti i radio del primo gruppo avranno name="groupRadio[1]" con l'indice 1 specificato,
    tutti i radio del secondo gruppo avranno name="groupRadio[2]" idem per 2
    proseguendo cosi' per ciascun gruppo

    lo stesso per i valori di default

    spero di aver capito la domanda e di aver dato una risposta valida

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.