2015-12-01 3 views
6

Ich habe folgende Kodierungen in meiner Form..wie bekomme ich den Wert aller Radio Button Werte auf submit, die innerhalb von Looping ist? Oder gib mir eine andere Lösung dafür.Wie bekomme ich die multiple Radiobuttons Werte in PHP die Namen dynamisch haben

<form action="res.php" method="post"> 
<?php 
    for($i=1;$i<=5;$i++) 
    { 
?> 
     <div class="well well-sm well-primary"> 
      <input type="hidden" name="ques"/>Questions? 
     </div> 
     <div class="well well-sm"> 
      <div class="radio"> 
       <label> 
        <input type="radio" name="optradio<?php echo $i; ?>" value="a">Option 1 
       </label> 
      </div> 
      <div class="radio"> 
       <label> 
        <input type="radio" name="optradio<?php echo $i; ?>" value="b">Option 2 
       </label> 
      </div> 
      <div class="radio"> 
       <label> 
        <input type="radio" name="optradio<?php echo $i; ?>" value="c">Option 3 
       </label> 
      </div> 
     </div> 
    <?php 
    } 
    ?> 
    <button type="submit" class="btn btn-success" name="submit">Finish</button> 
</form> 
+2

Es ist immer einfacher fetch wenn man den Namen als ein Array namens name = "optradio [$ i]" '(dh. name =" optradio [] "'), dann 'name =" optradio $ i " '(z. B.' name = "optradio " ') – Sean

+0

Vielen Dank .. Seine Arbeit .. – Kumaran

Antwort

7

Verwenden Anordnung von Tasten-Funk wie folgt

<form method="post"> 
    <?php 
    for($i=1;$i<=5;$i++) 
    { 
     ?> 
     <div class="well well-sm well-primary"> 
      <input type="hidden" name="ques"/>Questions? 
     </div> 
     <div class="well well-sm"> 
      <div class="radio"> 
       <label> 
       <input type="radio" name="optradio[<?php echo $i; ?>]" value="a">Option 1</label> 
      </div> 
      <div class="radio"> 
       <label> 
       <input type="radio" name="optradio[<?php echo $i; ?>]" value="b">Option 2</label> 
      </div> 
      <div class="radio"> 
       <label> 
       <input type="radio" name="optradio[<?php echo $i; ?>]" value="c">Option 3</label> 
      </div> 
     </div> 
     <?php 
    } 
    ?> 
    <button type="submit" class="btn btn-success" name="submit">Finish</button> 
</form> 

die gebuchten Werte zugreifen zu können, können Sie einfach $_POST['optradio']

In Anbetracht der Auswahl für 5 Fragen verwenden, um sein Option 1, Option 2 , Option 3, Option 1, Option 2 POST['optradio'] ergibt Array wie

Array ([1] => a [2] => b [3] => c [4] => a [5] => b)

Sigel Werte aus diesem Array zuzugreifen, Sie können foreach Schleife wie

<?php 
foreach($_POST['optradio'] as $option_num => $option_val) 
    echo $option_num." ".$option_val."<br>"; 
?> 
+0

Es funktioniert gut.Vielen Dank. – Kumaran

+0

Sie sind willkommen – Suyog

3

Ja, Sean kommentiert, versuchen Sie dies verwenden:

<form action="res.php" method="post"> 
<?php 
    for($i=1;$i<=5;$i++) 
    { 
?> 
     <div class="well well-sm well-primary"> 
      <input type="hidden" name="ques"/>Questions? 
     </div> 
     <div class="well well-sm"> 
      <div class="radio"> 
       <label> 
        <input type="radio" name="optradio[<?php echo $i; ?>]" value="a">Option 1 
       </label> 
      </div> 
      <div class="radio"> 
       <label> 
        <input type="radio" name="optradio[<?php echo $i; ?>]" value="b">Option 2 
       </label> 
      </div> 
      <div class="radio"> 
       <label> 
        <input type="radio" name="optradio[<?php echo $i; ?>]" value="c">Option 3 
       </label> 
      </div> 
     </div> 
    <?php 
    } 
    ?> 
    <button type="submit" class="btn btn-success" name="submit">Finish</button> 
</form> 

und verwenden Sie dann die unten in PHP Seite Optionsfeld Wert zu erhalten:

foreach ($_POST['optradio'] as $optNum => $option) { 
    // do stuff with $optNum and $option 
} 
1

Try this:
<input type="radio" name="optradio[]" value="a">

Und in PHP-Datei, $_POST['optradio'] als Array führen.

1

nehmen einen versteckten Eingang für in Optionsfeld Name Array Speicherung für Schleifen wie

<input type="hidden" name="testradio[]" value="optradio<?php echo $i; ?>"> 

und dann Optionsfeld Wert mit foreach

$rdobtn = $_POST['testradio']; 
$idx = 0; 

    foreach($rdobtn as $val){ 

     $rdovalue = $val[$idx]; 

     // perform opertation using above $rdovalue variable. 

     $idx++; 
    } 

}

Verwandte Themen