ここにjsfiddleがあります。ラジオボタンを選択して[質問の追加]をクリックすると、選択したラジオボタンを示すテーブル行が追加されます。行内の選択を変更できます。
ここで、INSERT VALUESメソッドを使用して、選択したラジオボタンをデータベースのそれぞれに挿入します。
だから私が知りたいのは、これを正しく行う方法で、各行の選択されたラジオボタンを$ _POSTし、INSERTVALUESを使用してそれらを挿入できるようにする方法です。
以下は私が現在持っているphpコードです:('questionText'は'question'列であり、jsfiddleに'questionText'を含めておらず、'gridValues'はjsfiddleに含まれていませんが、実際に各行を選択します。これは、「オプション」列の各行の各テキストボックス値に対するものであるため、テーブルに「質問」列と「オプション」列の2つの列が追加されていると想像してください。
$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);