如何在php中使用for循环创建多个单选按钮?

时间:2011-02-14 05:54:05

标签: php html

问题: - 我想从数据库中检索问题,每个问题后面都应该有2个单选按钮。我做了,但是当我点击第一个问题的YES按钮时,我不能选择第二个问题的YES按钮,那么我该怎么做呢?

<?
$query      = "SELECT mq_question FROM mental_questions where mq_agegroup=4 ";
$result     = mysql_query($query);
$total_rows = mysql_num_rows($result); 
Print "<ol>";
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
    echo "<h4><font color=#336699><li>{$row['mq_question']} </li></font><h4/><br/>";    
    echo "<p><font color=#336699>Yes<input type='radio' value='yes' id='yes' name='yes' />No<input type='radio' value='no' id='no' name='no' /></font></p></br>"; 
}
Print "</ol>";
?>

4 个答案:

答案 0 :(得分:2)

请注意每个单选按钮的name

<?php

  $questions = array('q1', 'q2', 'q3');
  echo "<ol>";

  foreach ($questions as $i=>$question) {
    echo "<li>$question<br/>"; 
    echo "Yes<input type='radio' value='yes' name='answer-$i' />&nbsp;";
    echo "No<input type='radio' value='no' name='answer-$i' /></li>";
  }

  echo "</ol>";

?>

答案 1 :(得分:2)

我知道这个问题已经过时了,但我在几天内遇到了同样的问题而且发现了一个非常简单的解决方案。 尝试在数据库中添加新的INT AUTO INCREMENT列,并将其作为单选按钮的名称。所有行都有不同的名称,单选按钮也可以使用。 像这样:

... "<td>Da li je kontakt ostvaren?<br/><label><input type='radio' name=$row[ID] value='Da'/> DA </label><label><input type='radio' name=$row[ID] value='Ne'/> NE</label></td>";

"<td>Da li je predmet poslat?<br/><label><input type='radio' name=$row[ID] value='Da'/> DA </label><label><input type='radio' name=$row[ID] value='Ne'/> NE</label></td>";

"<td>Da li je saradnja zavrsena?<br/><label><input type='radio' name=$row[ID] value='Da'/> DA</label><label><input type='radio' name=$row[ID] value='Ne'/> NE</label></td>"; ......`

我希望这会对某人有所帮助。

答案 2 :(得分:0)

需要将“name”参数更改为每行的唯一限定符 每个的“值”将是“是”和“否” 但“名称”参数需要不同

答案 3 :(得分:0)

这是我找到的可能的解决方案

<?php
    $all_qs = "<table>";
    for ($i_hp=1;$i_hp<$total_rows+1;$i_hp++) {
        if($i_hp % 2) { 
          $format = '#666666'; $bgcolor='#bbdaf7';
        } else { 
          $format = '#333333'; 
          $bgcolor='#aed4f7';
        }
        $hp_name = 'mhtq' . $i_hp . '_yes_label';
        $hp_name_inp = 'mhtq' . $i_hp . '_yes_input';
        $all_qs .= 
          '<tr bgcolor=' . $bgcolor .
          '><td><label><font color=' . $format . 
          '>' . $$hp_name . 
          '</font></label></td><td width="200">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . $$hp_name_inp . 
          '</td></tr>';
    }
    $all_qs .= '</table>';