Пустая ячейка, которая сохраняется в базе данных, является значением из вашего textarea
.
Причина, по которой ваш код сохраняет только textarea
, заключается в том, что это единственный запрос, выполняемый mysql_query
.Ваш цикл foreach
перезаписывает каждый запрос, а последнее значение $insertSQL
является запросом textarea.Итак, чтобы исправить это, вам нужно переместить mysql_query
внутри цикла foreach
и подключиться к базе данных до начала цикла.
/**
* Moving the mysql_query inside the loop requires you connect to the database
* before the loop starts
*/
mysql_select_db($database_PPS, $PPS);
/** Move your mysql_query inside your foreach loop **/
foreach ($_POST['InstrCheck'] as $value) {
$insertSQL = "INSERT INTO instruction (instName, instTime, instDate, pat_id) VALUES ('$value', '$Time', '$Date', '$pat_id')";
// Moved inside the loop...now this will run for each loop
$Result1 = mysql_query($insertSQL, $PPS) or die(mysql_error());
}
Другие ответы так же хороши и указывают на некоторые вещи, которые стоитпринимая во внимание.Я просто хочу, чтобы вы узнали, почему ваш исходный код был неправильным.