我的php代码存在一些问题。我的代码的目的是创建一个表,其中包含来自SQL数据库的条目,在所述条目旁边我想要一个是/否无线电输入和一个底部的提交按钮。
$query="SHOW COLUMNS FROM `staff`";
$result=mysqli_query($link, $query);
while ($row=mysqli_fetch_array($result)) {
if ($row['Field'] !== "name" AND $row['Field'] !== "email" AND $row['Field'] !== "id") {
$dateStaff=$row['Field'];
if (isset($_POST['submit'])){
$answer=$_POST[$dateStaff];
$query="UPDATE `staff` SET `$dateStaff`= '$answer'";
mysqli_query($link, $query);
echo $answer;
//answer variable is not picked up from radio - everything else works fine
}
echo '<form method="POST">';
echo '<table class="table">';
echo '<tr>';
echo '<td>'.$row['Field'].'</td>'.
'<td>'.'<input type="radio" name="'.$dateStaff.'" value="Yes" /> Yes'.
'<br />'.
'<input type="radio" name="'.$dateStaff.'" value="No" /> No'.'<br />'.
'<input type="hidden" name="'.$dateStaff.'" value="Unselected~" />'.
'</td>';
echo '</tr>';
echo '</table>';
}
}
echo '<input type="submit" name="submit" value="Save" />';
echo '</form>';
?>
问题是无法保存收音机值,当我选择收音机选项并点击提交时,它只会输入“未选中”字样。在sql数据库中。
请帮忙 - 温柔一点,这是我第一次尝试PHP项目。
谢谢。
答案 0 :(得分:1)
您的代码看起来不太好。你不应该在循环内部的一切内部。您的方法是什么,从您的代码中不清楚。虽然我已经为你做了些什么。我看到你有无线电输入$row['Field'] !== "name" AND $row['Field'] !== "email" AND $row['Field'] !== "id"
的不同名称。所以我不打算使用radioName[]
$dateStaff=$row['Field'];
'<table class="table">';
//loop start
echo '<tr>';
echo '<td>'.$row['Field'].'</td>'.
'<td>'.'<input type="radio" name="radioName['.$dateStaff.']" value="Yes" /> Yes'.
'<br />'.
'<input type="radio" name="radioName['.$dateStaff.']" value="No" /> No'.'<br />'.
'<input type="hidden" name="radioName['.$dateStaff.']" value="Unselected~" />'.
'</td>';
echo '</tr>';
//loop end
echo '</table>';
您可以使用此代码UPDATE
您的数据。但不建议这样做。你应该使用绑定参数。可以使用PDO
或MySQLi
if (isset($_POST['submit'])){
foreach($_POST['radioName'] as $name => $answer){
$query="UPDATE `staff` SET `$name` = '$answer'";
mysqli_query($link, $query);
}
}