У меня есть jsfiddle here. Случается, что если вы выберете радиокнопку и нажмите «Добавить вопрос», она добавит строку таблицы, показывающую выбранную вами радиокнопку. Вы можете изменить выбор в строке.Как вставить выбранные переключатели?
Теперь, что я хочу сделать, так это то, что я хочу вставить выбранные переключатели в каждую из базы данных с помощью метода INSERT VALUES.
Так что я хочу знать, как я могу правильно это сделать, чтобы он $ _POST выбранных переключателей для каждой строки, а затем смог вставить их с помощью INSERT VALUES?
Ниже приведен код php, который у меня есть: («questionText» - это столбец «Вопрос», где он фактически выбирает каждую строку, даже если я не включил «questionText» в jsfiddle, а «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] в конец атрибута name «reply» – user1304328
Да, имя переключателей должно быть ответом [0], reply [1] и т. д., чтобы использовать значения в виде массива в PHP Так что да, вместо 'name = 'reply" + count "' do '' reply [" + count + "] ''.Есть также способы сделать это в формате reply1, reply2, но для этого требуется еще немного логики на стороне php. – Gohn67
Если я изменю 'name = 'reply' + count" do 'reply ["+ count +"]' ', то, если я выберу радиокнопку сверху, а затем добавлю ее в строку таблицы, она затем отменит выбор выбранного переключателя. Я обновил скрипку, чтобы вы могли видеть это. – user1304328