Я пытаюсь обновить базу данных в зависимости от того, нажата ли кнопка-переключатель или нет для ряда различных строк, которые все были сгенерированы из базы данных. Мне удалось выделить все данные и сохранить их в переключатели нормально. Однако у меня возникают проблемы при передаче переменных на следующую страницу для запуска функции обновления. Я не использовал функцию обновления раньше, и я изо всех сил пытаюсь найти других, у которых была такая же проблема.
Ниже приведен код для переключателей и каждого значения переменной:
$name1 = "week1" . $ind;
$name2 = "week2" . $ind;
$name3 = "week3" . $ind;
$name4 = "week4" . $ind;
$name5 = "week5" . $ind;
$name6 = "week6" . $ind;
$name7 = "week7" . $ind;
$name8 = "week8" . $ind;
$name9 = "week9" . $ind;
$name10 = "week10" . $ind;
$SID2="SID" . $ind;
$ClassID2 = "ClassID" . $ind;
$StudentName2 = "StudentName" . $ind;
print ("<form action='Table/Update2.php' method='post'><tr>");
//print a cell
print ("<td> <input type ='hidden' name ='". $SID2."' value ='".$SID."'> $SID </td>");
print ("<td> <input type ='hidden' name ='" . $ClassID2 . "' value ='" . $ClassID . "'> $ClassID </td>");
print ("<td> <input type ='hidden' name ='" . $StudentName2 . "'value='".$StudentName."'> $StudentName </td>");
// print the radio buttons
print ("<td> $week_1 <input type='radio' value='1' name=" . $name1 ." " . (($week_1 == '1')? 'checked=\"checked\"' :"") . "><input type='radio' value='0' name=" . $name1 ." " . (($week_1 == '0')? 'checked=\"checked\"' :"") . "></td> ");
print ("<td> $week_2 <input type='radio' name=" . $name2 ." " . (($week_2 == '1')? 'checked=\"checked\"' :"") . "><input type='radio' name=" . $name2 ." " . (($week_2 == '0')? 'checked=\"checked\"' :"") . "></td> ");
print ("<td> $week_3 <input type='radio' name=" . $name3 ." " . (($week_3 == '1')? 'checked=\"checked\"' :"") . "><input type='radio' name=" . $name3 ." " . (($week_3 == '0')? 'checked=\"checked\"' :"") . "></td> ");
print ("<td> $week_4 <input type='radio' name=" . $name4 ." " . (($week_4 == '1')? 'checked=\"checked\"' :"") . "><input type='radio' name=" . $name4 ." " . (($week_4 == '0')? 'checked=\"checked\"' :"") . "></td> ");
print ("<td> $week_5 <input type='radio' name=" . $name5 ." " . (($week_5 == '1')? 'checked=\"checked\"' :"") . "><input type='radio' name=" . $name5 ." " . (($week_5 == '0')? 'checked=\"checked\"' :"") . "></td> ");
print ("<td> $week_6 <input type='radio' name=" . $name6 ." " . (($week_6 == '1')? 'checked=\"checked\"' :"") . "><input type='radio' name=" . $name6 ." " . (($week_6 == '0')? 'checked=\"checked\"' :"") . "></td> ");
print ("<td> $week_7 <input type='radio' name=" . $name7 ." " . (($week_7 == '1')? 'checked=\"checked\"' :"") . "><input type='radio' name=" . $name7 ." " . (($week_7 == '0')? 'checked=\"checked\"' :"") . "></td> ");
print ("<td> $week_8 <input type='radio' name=" . $name8 ." " . (($week_8 == '1')? 'checked=\"checked\"' :"") . "><input type='radio' name=" . $name8 ." " . (($week_8 == '0')? 'checked=\"checked\"' :"") . "></td> ");
print ("<td> $week_9 <input type='radio' name=" . $name9 ." " . (($week_9 == '1')? 'checked=\"checked\"' :"") . "><input type='radio' name=" . $name9 ." " . (($week_9 == '0')? 'checked=\"checked\"' :"") . "></td> ");
print ("<td> $week_10 <input type='radio' name=" . $name10 ." " . (($week_10 == '1')? 'checked=\"checked\"' :"") . "><input type='radio' name=" . $name10 ." " . (($week_10 == '0')? 'checked=\"checked\"' :"") . "></td> ");
//close row
print ("</tr>");
$ind++;
А ниже находится следующая страница, на которой поступают данные, и я считаю, что это основная проблема:
$SID =( isset ($_POST['".SID2 ."']));
$ClassID = (isset ($_POST['" . $ClassID2 . "']));
$StudentName = (isset ($_POST[ '" . $StudentName2 . "']));
$week1 = ( isset ($_POST ['". $name1 . "']) ? '1':'0' );
$week2 = ( isset ($_POST [ '". $name2 . "']) ? '1' : '0');
$week3 = ( isset ($_POST [ '". $name3 . "']) ? '1' : '0');
$week4 = ( isset ($_POST [ '". $name4 . "']) ? '1' : '0');
$week5 = ( isset ($_POST [ '". $name5 . "']) ? '1' : '0');
$week6 = ( isset ($_POST [ '". $name6 . "']) ? '1' : '0');
$week7 = ( isset ($_POST [ '". $name7 . "']) ? '1' : '0');
$week8 = ( isset ($_POST [ '". $name8 . "']) ? '1' : '0');
$week9 = ( isset ($_POST [ '". $name9 . "']) ? '1' : '0');
$week10 = ( isset ($_POST [ '". $name10 . "']) ? '1' : '0');
Ниже приведен оператор SQL, который продолжает появляться с ошибкой HY093:
$sqlQuery = "Update weekbyweek SET (:SID =?, :ClassID=?, :StudentName=?, :Week_1=?, :Week_2=?, :Week_3=?, :Week_4=?, :Week_5=?, :Week_6=?, :Week_7=?, :Week_8=?, :Week_9=?, :Week_10=?)";
$statement = $db->prepare($sqlQuery);
$statement->execute([':SID'=> $SID, ':ClassID'=> $ClassID, ':StudentName' => $StudentName, ':Week_1' => $week1, ':Week_2' => $week2, ':Week_3' => $week3, ':Week_4' => $week4,':Week_5' => $week5, ':Week_6' => $week6,':Week_7' => $week7, ':Week_8' => $week8,':Week_9' => $week9, ':Week_10' => $week10]);
Я предполагаю, что не правильно связал значения на следующей странице.
Любая помощь или совет будет принята с благодарностью.