我有一个jsfiddle here。会发生的是,如果您选择单选按钮并单击“添加问题”,它将添加一个表格行,显示您选择的单选按钮。您可以更改行内的选择。如何插入选定的单选按钮?
现在我想要做的是,我想通过使用INSERT VALUES方法在数据库中的每个插入选定的单选按钮。
所以我想知道的是我怎样才能正确地做到这一点,使它$ _POST为每行选定的单选按钮,然后能够插入它们使用INSERT VALUES?
下面是我现在使用的php代码:('questionText'是'Question'列,它实际上挑出每一行,即使我没有在jsfiddle中包含'questionText'而'gridValues'不是在的jsfiddle但这是在“选项”列中的每一行中的每个文本框的值,那么试想一下,有其是“问题”和“选项”栏)
$i = 0;
$c = count($_POST['gridValues']);
$insertquestion = array();
for($i = 0; $i < $c; $i++){
switch ($_POST['gridValues'][$i]){
case "3":
$selected_option = "A-C";
break;
case "4":
$selected_option = "A-D";
break;
default:
$selected_option = "";
break;
}
foreach($_POST['reply'] as $reply) {
switch ($_POST['reply']){
case "Single":
$selected_reply = "Single";
break;
case "Multiple":
$selected_reply = "Multiple";
break;
default:
$selected_reply = "";
break;
}
}
$optionquery = "SELECT OptionId FROM Option_Table WHERE (OptionType = '". mysql_real_escape_string($selected_option)."')";
$optionrs = mysql_query($optionquery);
$optionrecord = mysql_fetch_array($optionrs);
$optionid = $optionrecord['OptionId'];
$replyquery = "SELECT ReplyId FROM Reply WHERE (ReplyType = '". mysql_real_escape_string($selected_reply)."')";
$replyrs = mysql_query($replyquery);
$replyrecord = mysql_fetch_array($replyrs);
$replyid = $replyrecord['ReplyId'];
$insertquestion[] = "'".
mysql_real_escape_string($_POST['questionText'][$i]) ."','".
mysql_real_escape_string($optionid) ."','".
mysql_real_escape_string($replyid) ."'";
}
$questionsql = "INSERT INTO Question (QuestionContent OptionId, ReplyId)
VALUES (" . implode('), (', $insertquestion) . ")";
echo($questionsql);
我能问你一个问题,我在哪里追加行到一个表,我在形式更改名称属性为单选按钮有作为或只?换句话说,它说'name ='reply“+ count”'?并在宿舍本身,我把名称属性“答复”的末尾[0] – user1304328 2012-04-09 01:50:07
是的单选按钮的名称必须是回复[0],回复[1]等在PHP中使用值作为数组所以是的,而不是'name ='reply“+ count”'do''reply [“+ count +”]''。还有一些方法可以在reply1,reply2格式中完成它,但是它在php方面需要更多的逻辑。 – Gohn67 2012-04-09 02:06:39
如果我更改'name ='reply“+ count”do'reply [“+ count +”]'',那么如果我在顶部选择一个单选按钮,然后将它追加到表格行中,它将取消选择所选的单选按钮。我更新了小提琴,所以你可以看到这个 – user1304328 2012-04-09 02:20:02