2015-12-21 67 views
-3

我需要插入多重記錄我現在有這個。 其還增加了空場,因爲我不知道如何從插入其排除:插入多個不爲空

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')"; 

感謝您的幫助。

問候

+0

分享更多代碼如何讓這些變量$ product1,$ aantal1? – devpro

+0

這樣好多了。檢查我的答案 – devpro

回答

0

試試這個:

$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移動它們,可以優化該解決方案。

+1

感謝它的工作。 –

+0

多一個建議,如果你有一些時間,而不是多個變量使用數組..只是建議 – devpro

+0

Devpro感謝您幫助您爲我的例子嗎? –