Javascript 带添加行的多个插入

Javascript 带添加行的多个插入,javascript,php,sql,Javascript,Php,Sql,我有多张表格。我正在尝试将项目插入数据库,但它不起作用。 只能插入1条记录。我不知道是什么引起的 HTML: <tbody id="itemlist"> <tr> <td width="30%"><input type="text" class="form-control" id="txtNamabarang" name="txtNamabarang[0]" placeholder="Nama Barang" re

我有多张表格。我正在尝试将项目插入数据库,但它不起作用。 只能插入1条记录。我不知道是什么引起的

HTML:

<tbody id="itemlist">
        <tr>
            <td width="30%"><input type="text" class="form-control" id="txtNamabarang" name="txtNamabarang[0]" placeholder="Nama Barang" required></td>
            <td width="15%"><input type="text" class="form-control" id="txtJumlahbarang" name="txtJumlahbarang[0]" placeholder="Jumlah"></td>
            <td width="15%"><input type="text" class="form-control" id="cmbSatuanbarang" name="cmbSatuanbarang[0]" placeholder="Satuan"></td>
            <td width="20%"><select id="cmbKategoribarang" class="form-control" name="cmbKategoribarang[0]" placeholder="Kategori">
                <option value="">Choose...</option>
                <option value='Bahan Baku'>Bahan Baku</option>
                <option value='Barang Jadi'>Barang Jadi</option>
                <option value='Scrap'>Waste / Scrap</option>
                </select></td>
            <td width="20%"><input type="text" class="form-control" id="txtKet" name="txtKet[0]" placeholder="Keterangan"></td>
            <td></td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td></td>
            <td align="center">
                <button class="btn btn-default btn-sm" onclick="additem(); return false">
                <span class="glyphicon glyphicon-plus"></span>
                </button>
            </td>
        </tr>
    </tfoot>
我的插入查询不起作用,只能插入1条记录

我的Javascript如下所示:

$txtNamabarang =$_POST['txtNamabarang'];
            $txtJumlahbarang =$_POST['txtJumlahbarang'];
            $cmbSatuanbarang =$_POST['cmbSatuanbarang'];
            $cmbKategoribarang =$_POST['cmbKategoribarang'];
            $txtKet =$_POST['txtKet'];
            foreach ($txtNamabarang as $key => $n) {                
                $koneksidb->query("INSERT INTO tbl_pengeluaran_sementara_brg(nomor_pengeluaran_sementara_brg, nama_barang, jml_barang, sat_barang, kat_barang, ket) 
                                                VALUES('$kodeBaru', '$n', '$txtJumlahbarang[$key]', '$cmbSatuanbarang[$key]', '$cmbKategoribarang[$key]', '$txtKet[$key]')") or die ("Gagal Query Simpan barang".mysqli_error());
            }
var i = 1;
            function additem() {
//                menentukan target append
                var itemlist = document.getElementById('itemlist');
//                membuat element
                var row = document.createElement('tr');
                var namaBrg = document.createElement('td');
                var jumlahBrg = document.createElement('td');
                var satuanBrg = document.createElement('td');
                var kategoriBrg = document.createElement('td');
                var ketBrg = document.createElement('td');
                var aksi = document.createElement('td');
                aksi.setAttribute('align', 'center');
//                meng append element
                itemlist.appendChild(row);
                row.appendChild(namaBrg);
                row.appendChild(jumlahBrg);
                row.appendChild(satuanBrg);
                row.appendChild(kategoriBrg);
                row.appendChild(ketBrg);
                row.appendChild(aksi);
//                membuat element input
                var txtNamabarang = document.createElement('input');
                txtNamabarang.setAttribute('name', 'txtNamabarang[' + i + ']');
                txtNamabarang.setAttribute('class', 'form-control');
                txtNamabarang.setAttribute('placeholder', 'Nama Barang');
                var txtJumlahbarang = document.createElement('input');
                txtJumlahbarang.setAttribute('name', 'txtJumlahbarang[' + i + ']');
                txtJumlahbarang.setAttribute('class', 'form-control');
                txtJumlahbarang.setAttribute('placeholder', 'Jumlah');
                var cmbSatuanbarang = document.createElement('input');
                cmbSatuanbarang.setAttribute('name', 'cmbSatuanbarang[' + i + ']');
                cmbSatuanbarang.setAttribute('class', 'form-control');
                cmbSatuanbarang.setAttribute('placeholder', 'Satuan');
//                membuat element combobox
                var myParent = document.body;
                var array = ["Choose...","Bahan Baku","Barang Jadi","Scrap"];
                var cmbKategoribarang = document.createElement("select");
                cmbKategoribarang.setAttribute('name', 'cmbKategoribarang[' + i + ']');
                cmbKategoribarang.setAttribute('class', 'form-control');
                cmbKategoribarang.id = "mySelect";
                myParent.appendChild(cmbKategoribarang);
                for (var i = 0; i < array.length; i++) {
                var option = document.createElement('option');
                option.value = array[i];
                option.text = array[i];
                cmbKategoribarang.appendChild(option);
                cmbKategoribarang.appendChild(option);
                }
                var txtKet = document.createElement('input');
                txtKet.setAttribute('name', 'txtKet[' + i + ']');
                txtKet.setAttribute('class', 'form-control');
                txtKet.setAttribute('placeholder', 'Keterangan');

                var hapus = document.createElement('span');
//                meng append element input
                namaBrg.appendChild(txtNamabarang);
                jumlahBrg.appendChild(txtJumlahbarang);
                satuanBrg.appendChild(cmbSatuanbarang);
                kategoriBrg.appendChild(cmbKategoribarang);
                ketBrg.appendChild(txtKet);
                aksi.appendChild(hapus);
                hapus.innerHTML = '<button class="btn btn-small btn-default"><span class="glyphicon glyphicon-trash"></span></i></button>';
//                membuat aksi delete element
                hapus.onclick = function () {
                    row.parentNode.removeChild(row);
                };
                i++;
            }
var i=1;
函数additem(){
//menentukan目标附加
var itemlist=document.getElementById('itemlist');
//membuat元件
var行=document.createElement('tr');
var namaBrg=document.createElement('td');
var jumlahBrg=document.createElement('td');
var satuanBrg=document.createElement('td');
var kategoriberg=document.createElement('td');
var ketBrg=document.createElement('td');
var aksi=document.createElement('td');
setAttribute('align','center');
//孟附加元素
itemlist.appendChild(行);
世界其他地区(纳马布格);
世界其他地区(jumlahBrg);
第行。追加子行(satuanBrg);
第2行,附属儿童(Kategoriberg);
世界其他地区(ketBrg);
第二行,附属儿童(aksi);
//membuat元素输入
var txtNamabarang=document.createElement('input');
setAttribute('name','txtNamabarang['+i+']');
setAttribute('class','form control');
setAttribute('placeholder','namabarang');
var txtJumlahbarang=document.createElement('input');
setAttribute('name','txtJumlahbarang['+i+']);
setAttribute('class','form control');
setAttribute('placeholder','Jumlah');
var cmbSatuanbarang=document.createElement('input');
setAttribute('name','cmbSatuanbarang['+i+']);
setAttribute('class','form control');
setAttribute('placeholder','Satuan');
//membuat元素组合框
var myParent=document.body;
var数组=[“选择…”、“巴哈恩巴库”、“巴朗贾迪”、“报废”];
var cmbKategoribarang=document.createElement(“选择”);
setAttribute('name','cmbKategoribarang['+i+']);
setAttribute('class','form control');
cmbKategoribarang.id=“mySelect”;
我的父母、子女(cmbKategoribarang);
对于(var i=0;i
我找不到问题
谢谢你的帮助

我认为你的查询很好。编辑包含txtket[]的行

<td width="20%"><input type="text" class="form-control" id="txtKet" name="txtKet[]" placeholder="Keterangan"></td>


我希望通过查询中的vardump,您能够查看输出。

您好。因此,试图阻止用户要求人们查看代码并找出错误的文本式问题。试着找到一个方面并寻求帮助。从外观上看,我不知道在javascript中您在哪里增加了
I
,因此有了一些名称提升。在PHP中,我看不到你在哪里计算每个发布的数据。您可能需要在
$\u POST
上使用
var\u dump
查看哪些数据正在通过并从那里开始。您的代码对SQLInjection开放谢谢您提供有关我的SQL的建议