文本框覆盖MySQL中的单选按钮

时间:2012-05-29 20:46:21

标签: php mysql textbox radio-button

我正在创建一个网络调查,以收集毕业项目/论文的数据,并将数据收集到MySQL数据库中。该网页应该做的是:受访者会看到一个单词,然后必须做出四个选择之一。三个选项是单选按钮,第四个选择是"其他"他们将有机会在文本框中输入内容。这似乎是一个相当典型的设置,但我在sql端遇到了麻烦。

问题在于,虽然网页似乎运行正常但是当我查看数据库时,没有任何单选按钮值存在 - 传递给sql server的唯一值是输入到文本中的值框(包括选中单选按钮且未在文本框中输入任何内容的空白值。

创建调查页面的代码是:

    echo "<form action='insert2.php' method='post'>";
    echo "  <table border='1' cellpadding = '10' align = 'center'>
        <tr>
        <th>Num</th>
        <th>Fran&ccedil;ais</th>
        <th>Choix 1</th>
        <th>Choix 2</th>
        <th>Choix 3</th>
        <th>Choix 4</th>
        </tr>";
for ($i=1; $i<=$total; $i++)
{
    $query = "SELECT * FROM MyDataTable WHERE id = '$i'";
    $word = $db->query($query);
    $word = $word->fetch();     
        echo "<tr>";
    echo "<td>" . "$i " . "</td>";
    echo "<td width = '300'>" . $word[1] . "</td>";
            echo "<td width = '300' align = 'center'>" . 
              " <input type='radio' name='word$i' value='one' id='wa_$i' /> " . $word[2] . "</td>";

            echo "<td width = '300' align = 'center'>" . 
              " <input type='radio' name='word$i' value='two' id='wb_$i' /> " . $word[3] . "</td>";

            echo "<td width = '300' align = 'center'>" . 
              " <input type='radio' name='word$i' value='three' id='wc_$i' /> " . $word[4] . "</td>";

            echo "<td width = '300' align = 'center'>" . 
              " autre: <input type='text' name='word$i' id='wd_$i' /> </td>";

        echo "</tr>";
     }
    echo "<br /><br />";
    echo "</table>";

当我没有最终表单字段(文本框)时,一切正常。是不是可以使用单选按钮值或文本框值?

&#39; insert2.php&#39;代码如下:

mysql_query("INSERT INTO `MyResultsTable` (w1) VALUES ('$_POST[word1]')");

$last_id = mysql_insert_id();

for ($i=2; $i<=$total; $i++)// This loop inserts the rest of the data into the DB
{
$temp = "word$i";
if (isset($_POST[$temp]))
{
    mysql_query("UPDATE `MyResultsTable` SET w$i='$_POST[$temp]' WHERE id = $last_id");
}

非常感谢任何帮助。我是新来的并且已经搜索了很长时间,但无济于事。

此致

马特

1 个答案:

答案 0 :(得分:0)

将您的收音机更改为

<input type='radio' name='word$i[]' value='one' id='wa_$i' />
<input type='radio' name='word$i[]' value='two' id='wb_$i' />
<input type='radio' name='word$i[]' value='three' id='wc_$i' />

(注意“name”属性中值之后的数组括号)

看看是否能解决问题。