PHP - 无线电输入未被拾取

时间:2015-12-09 01:02:01

标签: php mysql

我的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项目。

谢谢。

1 个答案:

答案 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您的数据。但不建议这样做。你应该使用绑定参数。可以使用PDOMySQLi

来完成
if (isset($_POST['submit'])){
    foreach($_POST['radioName'] as $name => $answer){
       $query="UPDATE `staff` SET `$name` = '$answer'";
       mysqli_query($link, $query);
    }
}