插入多个不为空

Insert Multiple not empty

我需要插入多条记录,我现在就有了。 它也添加了空字段,因为我不知道如何将它们排除在插入之外:

 if ($_SERVER['REQUEST_METHOD'] == 'POST'){

/* as_factuurregel */
$product1 = $_POST['product1'];
$product2 = $_POST['product2'];
$product3 = $_POST['product3'];
$product4 = $_POST['product4'];
$product5 = $_POST['product5'];
$product6 = $_POST['product6'];

$aantal1 = $_POST['aantal1'];
$aantal2 = $_POST['aantal2'];
$aantal3 = $_POST['aantal3'];
$aantal4 = $_POST['aantal4'];
$aantal5 = $_POST['aantal5'];
$aantal6 = $_POST['aantal6'];

$sql = "INSERT INTO as_factuurregel (productid, factuurid, aantal)
  VALUES ('$product1', 'test', '$aantal1'),('$product2', 'test', '$aantal2'),('$product4', 'test', '$aantal3'),('$product5', 'test', '$aantal5'),('$product5', 'test', '$aantal5')";

感谢您的帮助。

问候

试试这个:

$product1 = $_POST['product1'];
$product2 = $_POST['product2'];
$product3 = $_POST['product3'];
$product4 = $_POST['product4'];
$product5 = $_POST['product5'];
$product6 = $_POST['product6'];

$array_one = array($product1,$product2,$product3,$product4,$product5,$product6);

$aantal1 = $_POST['aantal1'];
$aantal2 = $_POST['aantal2'];
$aantal3 = $_POST['aantal3'];
$aantal4 = $_POST['aantal4'];
$aantal5 = $_POST['aantal5'];
$aantal6 = $_POST['aantal6'];

$array_two = array($aantal1,$aantal2,$aantal3,$aantal4,$aantal5,$aantal6);

$newArray = array();
foreach ($array_one as $key => $value) {
    if($value != '' && $array_two[$key] != '')
    {
        $newArray[] = "('$value','test','$array_two[$key]')";
    }
}

$values = implode(",",$newArray);
$sql = "INSERT INTO as_factuurregel (productid, factuurid, aantal)
        VALUES ".$values;

如果您优化输入字段并将它们移动到 array 中,您可以优化此解决方案。