我正在创建一个网络调查来收集研究生项目/论文的数据,并将数据收集到 MySQL 数据库中。该网页应该做的事情如下:受访者将看到一个单词,然后必须做出四个选择之一。三个选项是单选按钮,第四个选项是“其他”,他们将有机会在文本框中输入内容。这似乎是一个相当典型的设置,但我在 sql 端遇到了麻烦。
问题是,虽然网页似乎运行正常,但当我查看数据库时,没有任何单选按钮值存在——传递给 sql 服务器的唯一值是输入到文本框中的值(包括选中单选按钮且未在文本框中输入任何内容的空白值。
创建调查页面的代码是:
echo "<form action='insert2.php' method='post'>";
echo " <table border='1' cellpadding = '10' align = 'center'>
<tr>
<th>Num</th>
<th>Franç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>";
当我没有最终表单字段(文本框)时,一切正常。不可能是单选按钮值或文本框值吗?
“insert2.php”代码如下:
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");
}
任何帮助将不胜感激。我是新手,已经搜索了很长时间,但无济于事。
问候,
马特