Merhaba,
foreach ($_POST as $val) { hemen bir satır üzerine print_r($_POST); yazarak gelen tüm postlara bakın fazlalıkların neden kaynaklandığını göreceksiniz.
Eğer 2 insert varsa tüm post'ları döndürmek yerine ;
insert into makinabakimdetay (bakimid,malkodu,miktar,netfy) VALUES (birinci post için dizilim),(ikinci post için dizilim);
şeklinde tek bir insert oluşturabilirsiniz.
Form yapınızı bilmiyorum 2 3 veri giriyorum demişsiniz. Boş olan form satırları varsa ve onları girmek istemiyorsanız da foreach'inizi şu şekilde düzenleyin.
foreach ($_POST as $val) {
$mal = $_POST['m_kod'][$i];
$miktar = $_POST['miktar'][$i];
$netfy = $_POST['nfy'][$i];
$id2 = $_GET['id'];
if($mal != "") {
$guncelle=mysql_query("INSERT INTO makinabakimdetay (bakimid,malkodu,miktar,netfy) VALUES ('$id2','$mal', '$miktar','$netfy')");
$i++;
}
}Böylelikle m_kod boşsa o satırı boşa insert etmez.
iyi çalışmalar.