Я работаю над таблицей флажков, отправленные данные должны быть сохранены в базе данных mysql. В таблице есть два столбца: идентификатор автоинкремента и еще один для сохранения значений флажка.
В настоящее время сохраняется только одно значение за раз, даже когда я выбираю несколько, сохраняется только самое последнее.
Вот код:
report.php
<?php
$active = "report";
require_once 'pages/header.php';
require_once './functions/schema-functions.php';
$course = Schema::getCourse();
$objective = Schema::getObjective();
?>
<form id="addReport" action ='./functions/report-functions.php' method="post">
<table id="table1" class="table">
<?php
echo '<tr><th>Objectives</th>';
for ($i = 0; $i < count($course); $i++) {
echo '<th id = "rotate1">'. $course[$i]->commonName . '</th>';
}
echo '</tr>';
for ($y = 0; $y < count($objective); $y++) {
echo '<tr><th class=row-header>'.$objective[$y]->objective.'</th>';
for ($x = 0; $x < count($course); $x++) {
echo "<td><input name='check[]' type=checkbox value=c".$course[$x]->courseId."-o".$objective[$y]->objectiveId." id=checked></td>";
}
echo '</tr>';
}
?>
</table>
<input type="submit" name= "submit" value= "Submit"/>
отчетно-functions.php
<?php
require_once 'db-connect.php';
if(isset($_POST['submit'])){
{
$conn = DatabaseConnection::getConnection();
$conn->beginTransaction();
if(isset($_POST['check'])){
foreach($_POST['check'] as $value){
$sql = $conn->prepare("INSERT INTO Report (ColRow) VALUES
('$value')");
}
if ($sql->execute(array( ':checked' => $checked))) {
$conn->commit();
return true;
} else {
$conn->rollback();
return false;
}
}
}
}
?>
Я хочу сохранить несколько выбранных флажков в разных строках базы данных, и после отправки я хочу снова отобразить таблицу с отмеченными флажками, и пользователь должен иметь возможность выполнять проверки и снова отправлять данные.