В форме повторить по количеству учеников:
<input ... name="idpupil[]">
В скрипте вместо последней строки:
foreach ($idpupil as $pupil) { mysqli_query($link, "INSERT INTO yoqlama(idpupil,date,come,idteacher) VALUES ('$pupil', '$date', '$come', '$idteacher')"); }
Это максимально костыльный вариант.
Более лучше:
$prepared = mysqli_stmt_init($link);
mysqli_stmt_prepare($prepared, "INSERT INTO yoqlama(idpupil,date,come,idteacher) VALUES (?, ?, ?, ?)");
$pupil = 0;
mysqli_stmt_bind_param($prepared, 'isii', $pupil, $date, $come, $idteacher);
// 'isii' , если date — строка, а ID и come — целые числа ( https://www.php.net/manual/ru/mysqli-stmt.bind-param.php )
foreach ($idpupil as $id) {
$pupil = $id;
mysqli_stmt_execute($prepared);
}
mysqli_stmt_close($prepared);
Не уверен, но примерно так. Кроме того, появляется защита от SQL-инъекций, плохо просто брать из
$_POST
и вставлять в запрос. Хотя для внутреннего сайта школы, наверно, сойдёт, вряд ли там будет много хакеров.