所以我在这里遇到了一个问题。
我需要能够选择此代码创建的两个单选按钮之一。
$data = "SELECT * FROM docenten";
$var = mysqli_query($db, $data);
while ($row = mysqli_fetch_object($var)) {
echo "<tr>";
echo "<td>" . $row->ID . "</td>";
echo "<td>" . $row->Naam . "</td>";
echo "<td>" . $row->Afkorting . "</td>";
echo "<td>" . $row->aanwezigheid . "</td>";
echo "<td><input type='radio' name='select' value='Afwezig,".$row->ID."'>Afwezig <input type='radio' name='select' value='Aanwezig,".$row->ID."'>Aanwezig";
echo "</tr>";
}
它的作用是从我的数据库中获取每个人,并为每个人创建2个单选按钮。但是我现在面临的问题是我只能更新一个人。就像说有5个人出现在表格中一样,我只能选择一个单选按钮,因为它们都具有相同的名称。 现在,我尝试使所有单选按钮的名称与该人的ID相同,但这不起作用
我正在尝试做这样的事情:
$data = "SELECT * FROM docenten";
$var = mysqli_query($db, $data);
while ($row = mysqli_fetch_object($var)) {
echo "<tr>";
echo "<td>" . $row->ID . "</td>";
echo "<td>" . $row->Naam . "</td>";
echo "<td>" . $row->Afkorting . "</td>";
echo "<td>" . $row->aanwezigheid . "</td>";
echo "<td><input type='radio' name='".$ID."' value='Afwezig,".$row->ID."'>Afwezig <input type='radio' name='".$ID."' value='Aanwezig,".$row->ID."'>Aanwezig";
echo "</tr>";
}
然后我可以打电话给我的server.php
if (isset($_POST['ID'])) {
$value = $_POST['ID'];
$arr = explode(",", $value);
$query = "UPDATE docenten SET aanwezigheid = '" . $arr['0'] . "' WHERE ID = '" . $arr[1] . "'";
mysqli_query($db, $query);
} else {
array_push($errors, "Oeps er is iets fout gegaan");
}
对不起,如果我没有任何道理,我真的很想问这类问题
答案 0 :(得分:1)
对于我所看到的,您正在循环显示列表。您可以使用ID作为名称,但是在获取POST时必须执行相同的循环。
$data = "SELECT * FROM docenten";
$var = mysqli_query($db, $data);
while ($row = mysqli_fetch_object($var)) {
echo "<tr>";
echo "<td>" . $row->ID . "</td>";
echo "<td>" . $row->Naam . "</td>";
echo "<td>" . $row->Afkorting . "</td>";
echo "<td>" . $row->aanwezigheid . "</td>";
echo "<td><input type='radio' name='".$row->ID."' value='Afwezig,".$row->ID."'>Afwezig <input type='radio' name='".$ID."' value='Aanwezig,".$row->ID."'>Aanwezig";
echo "</tr>";
}
现在,您应该执行相同的循环,但要使用:
while ($row = mysqli_fetch_object($var)) {
if(isset($_POST[$row->ID])) {
// Do your query
}
}
那将检查是否设置了每个条目的值。