У меня есть проблема в хранении значений флажка в MySQL DB. Как я могу исправить этот код, чтобы сохранить все проверенные значения?
При проверке на наличие строк в базе данных должно храниться семь разных типов столбцов.
Эта часть кода отвечает за выборку данных из базы данных и размещение их в таблице:
while ($row = mysqli_fetch_array($query)) {
print
"<tr> <td><input type='checkbox' name='check[]' value='
".$row['course_id'].",
".$row['course_name'].",
".$row['day'].",
".$row['place'].",
".$row['hour'].",
".$row['type'].",
".$row['instructor_name']."' /></td>
<td>{$row['course_id']}</td>
<td>{$row['course_name']}</td>
<td>{$row['day']}</td>
<td>{$row['place']}</td>
<td>{$row['hour']}</td>
<td>{$row['type']}</td>
<td>{$row['instructor_name']}</td>
</tr>";
}print "</table>
<input type='submit' name='Submit' value='Submit'>
</form>";
Эта часть кода отвечает за хранение данных в базах данных.
if(isset($_POST['check'])){
$returned = $_POST['check'];
$office = array('course_id','course_name','day','place','hour','type','instructor_name');
$values = array();
foreach($office as $selection){$insert1 ="INSERT INTO initial_registration
(course_id,course_name,day,place,hour,type,instructor_name)
SELECT *
FROM offerd_course";mysqli_query($insert1) or die(mysqli_error());
}
}
Я думаю, что все ваши настройки не очень хороши, вот код для начала:
сначала распечатать все курсы
while ($row = mysqli_fetch_array($query)) {
print
"<tr>
<td><input type='checkbox' name='row_checked_".$row['course_id']."' value='1' /></td>
<td>{$row['course_id']}</td>
<td>{$row['course_name']}</td>
<td>{$row['day']}</td>
<td>{$row['place']}</td>
<td>{$row['hour']}</td>
<td>{$row['type']}</td>
<td>{$row['instructor_name']}</td>
</tr>";
}
А затем для вставки части:
снова пройти все курсы, чтобы увидеть, какие курсы были «проверены»
while ($row = mysqli_fetch_array($query)) {
if(isset($_POST['row_checked_'.$row['course_id']]) && $_POST['row_checked_'.$row['course_id']]==1){
//insert query here
}
}
Ваш запрос на вставку также немного запутался. Почему вы хотите вставить весь курс в первоначальную регистрацию? Вы скорее захотите сделать что-то вроде этого:
$insert1 ="INSERT INTO initial_registration (course_id,STUDENT) VALUES ($row['course_id'],$some_student_id_value)";
Других решений пока нет …