我有一个单选按钮,使用包含字符串值的foreach循环从数据库中获取和显示。我设置了另一个隐藏的输入以及保存每个数据的id的单选按钮。
$sql = "SELECT DISTINCT(class) FROM program WHERE level = '".$level."' AND title = '".$title."'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$i = 1;
while($row = $result->fetch_assoc()) {
echo '<ul>';
echo '<li>';
echo $row['class'];
echo '<input type="hidden" value="'.$row['class'].'"';
echo '</li>';
echo '<li>';
echo '<ul><li><input name="timeslot['.$i.']" type="radio" value="" checked>N/A</li></ul>';
$sql2 = 'SELECT * FROM program WHERE class = "'.$row['class'].'"';
$result2 = $conn->query($sql2);
if ($result->num_rows > 0) {
while($row2 = $result2->fetch_assoc()) {
echo '<ul>';
echo '<li>';
echo '<input name="timeslot['.$i.']" type="radio" value="'.$row['class'].', '.$row2['timeslot'].'" />'.$row2['timeslot'];
echo '<input type="hidden" name="slot_id['.$i.']" value="'.$row2['id'].'"';
echo '</li>';
echo '</ul>';
}
}
echo '</li>';
echo '</ul>';
$i++;
}
}
提交表单时,我的隐藏值总是得到每个组的最后一行。如何在选中的单选按钮上获取id值?
答案 0 :(得分:0)
您未关闭输入隐藏字段。
此外,如果你不需要服务器中的每个id,我建议改变这种方式而不是收音机和隐藏。
echo '<input name="timeslot['.$row2['id'].']" type="radio" value="'.$row['class'].', '.$row2['timeslot'].'" />'.$row2['timeslot'];