我目前正试图为从服务器读取的每一行生成独立的单选按钮。它们应该是象征着开和关的开关。我目前的问题是,我设法为每一行生成按钮,但这些按钮不是独立的。我一次只能关闭或打开一个。
我知道,当每个单选按钮的名称不同时,单选按钮才会真正 "独立"。但我似乎想不出如何为每一行生成一个新的名称。
目前我的代码是这样的
res = $db->query($query);
if ($res->num_rows > 0) {
while ($row = $res->fetch_object()) {
$query = "SELECT * FROM device_status
WHERE device = ($row->id)";
$status = $db->query($query);
$device_status = $status->fetch_object();
$content .= <<<END
<tr>
<td>{$row->devices}</td>
<td>{$row->description}</td>
<td>{$row->room}</td>
<td><input type='radio' name='radiobutton' id='myCheck'></td>
<td><input type='radio' name='radiobutton' id='myCheck' checked='checked'></td>
<!-- <td>{$device_status->status}</td> -->
<td><a href="delete-device.php?id=$row->id">Delete</a>
<a href="edit-device.php?id=$row->id">Edit</a></td>
</tr>
END;
}
}
echo $content;
我一直在尝试不同的方法,比如使用 <td><input type='radio' name='$row->id' id='myCheck'></td>
但一直没有得到解决。任何关于如何解决这个问题的帮助是非常感激的。
谢谢你!我目前正试图为从服务器读取的每一行生成独立的单选按钮。
如果你想为所有生成的复选框取一个唯一的名字,你可以通过增加 $i
为每一行。
res = $db->query($query);
if ($res->num_rows > 0) {
$i = 0;
while ($row = $res->fetch_object()) {
$query = "SELECT * FROM device_status
WHERE device = ($row->id)";
$status = $db->query($query);
$device_status = $status->fetch_object();
$content .= <<<END
<tr>
<td>{$row->devices}</td>
<td>{$row->description}</td>
<td>{$row->room}</td>
<td><input type='radio' name='radiobutton<?php echo $i?>' id='myCheck'></td>
<td><input type='radio' name='radiobutton<?php echo $i?>' id='myCheck' checked='checked'></td>
<!-- <td>{$device_status->status}</td> -->
<td><a href="delete-device.php?id=$row->id">Delete</a>
<a href="edit-device.php?id=$row->id">Edit</a></td>
</tr>
END;
$i++;
}
}
echo $content;
如果你不在乎单选按钮的名字,你可以使用一个 "php随机数生成器",每一行你都给你的单选按钮名字指定一个新的随机数。
<?php $x = rand(5, 100000); ?> <input type='radio' name='<?php echo $x; ?>' id='myCheck'>