Первый постер, давний тайник :)
У меня есть настройка формы, которая отправляет данные для нескольких строк в одной таблице с семью столбцами в функцию php, чтобы вставить ее как новые записи в базу данных. Форма работает отлично, однако, если одна из строк в форме остается незаполненной, тогда функция php создает пустую строку в базе данных. Я пытаюсь понять, как этого избежать. Я уверен, что это не имеет ничего общего с самой формой, а скорее имеет отношение к php. Пожалуйста, посмотрите на это. Я полностью открыт для предложений.
<?php
require("header.php");
require("dbinc.php");
foreach($_POST['card'] as $row=>$cardcounted)
{
$model=$_POST['model'];
$serial=$_POST['serial'][$row];
$card=$cardcounted;
$status=$_POST['status'];
$date=$_POST['date'];
$location=$_POST['location'];
$query = mysql_query("INSERT INTO receivers (`id`, `model`, `serial`, `card`, `status`, `date`, `location`) VALUES ('null','$model','$serial','$card','$status','$date','$location')");
if(!isset($serial[$row]) || $serial[$row] == '') {
// error message here, redisplay form if desired
} else {
// no errors - process data
}
if (!$query)
{
die('Error: ' . mysql_error());
}
}
echo $row+1 . " record(s) added";
mysql_close()
?>
Я добавил в! Isset серийные номера за строкой, чтобы проверять наличие нулевых сообщений, но не уверен, как правильно их включить. я думаю, что я на правильном пути, просто нужно немного подтолкнуть:)