Inserisci più righe dalla pagina php in mysql

Questo problema mi sta facendo impazzire da ieri. Ho una tabella composta da 5 colonne: kode_barang (item ID), nama_barang (nome dell'elemento), qty (quantità), harga_beli (prezzo), jumlah (totale). L'utente può inserire 2 elementi. Questo è il codice del module:

<HTML> <?php include "koneksi.php"; ?> <form action="insert3.php" method="POST"> <table id="theTable" border="1"> <thead> <tr> <th> Kode Barang </th> <th> Nama Barang </th> <th> Qty </th> <th> Harga Beli </th> <th> Jumlah </th> <tr> </thead> <tbody> <tr> <td type="text" name="kode_barang" id="kode_barang1"/readonly> <?php mysql_connect("localhost","root",""); mysql_select_db("skripsi_1"); $result = mysql_query("select * from input_data_barang"); $met = "var kode_barang = new Array();\n"; echo '<select name="kode_barang" onchange="changeValue1(this.value)">'; echo '<option></option>'; while ($row = mysql_fetch_arrays($result)) { echo '<option value="' . $row['kode_barang'] . '">' . $row['kode_barang'] . '</option>'; $met .= "kode_barang['" . $row['kode_barang'] . "'] = {name:'" . addslashes($row['nama_barang']) . "',desc:'".addslashes($row['nama_barang'])."'};\n"; } echo '</select>'; ?> </td> <td><input type="text" name="nama_barang" id="nama_barang1"/readonly> <script type="text/javascript"> <?php echo $met; ?> function changeValue1(id){ document.getElementById('kode_barang1').value = kode_barang[id].name; document.getElementById('nama_barang1').value = kode_barang[id].desc; }; </script> </td> <td><input class="valOne" type="text" name="qty"></td> <td><input class="valTwo" type="text" name="harga_beli"></td> <td><input class="result" type="text" name="jumlah"></td> </tr> <tr> <td type="text" name="kode_barang" id="kode_barang2"/readonly> <?php mysql_connect("localhost","root",""); mysql_select_db("skripsi_1"); $result = mysql_query("select * from input_data_barang"); $jsArray = "var kode_barang = new Array();\n"; echo '<select name="kode_barang" onchange="changeValue2(this.value)">'; echo '<option></option>'; while ($row = mysql_fetch_arrays($result)) { echo '<option value="' . $row['kode_barang'] . '">' . $row['kode_barang'] . '</option>'; $jsArray .= "kode_barang['" . $row['kode_barang'] . "'] = {name:'" . addslashes($row['nama_barang']) . "',desc:'".addslashes($row['nama_barang'])."'};\n"; } echo '</select>'; ?> </td> <td><input type="text" name="nama_barang" id="nama_barang2"/readonly> <script type="text/javascript"> <?php echo $jsArray; ?> function changeValue2(id){ document.getElementById('kode_barang2').value = kode_barang[id].name; document.getElementById('nama_barang2').value = kode_barang[id].desc; }; </script> </td> <td><input class="valOne" type="text" name="qty"></td> <td><input class="valTwo" type="text" name="harga_beli"></td> <td><input class="result" type="text" name="jumlah"></td> </tr> <script> document.getElementById("theTable").addEventListener("input", function(e) { var row = e.target.parentNode.parentNode var val1 = row.querySelector(".valOne").value var val2 = row.querySelector(".valTwo").value row.querySelector(".result").value = val1 * val2 }) </script> </tbody> <td><input type="submit" value="OK"></a> <input type="reset" value="Reset"></td> </table> </form> </HTML> 

E questa è la connessione al mio database:

 <?php include "koneksi.php"; $kode_barang=$_POST['kode_barang']; $nama_barang=$_POST['nama_barang']; $qty=$_POST['qty']; $harga_beli=$_POST['harga_beli']; $jumlah=$_POST['jumlah']; $query ="INSERT INTO faktur (kode_barang, nama_barang, qty, harga_beli, jumlah) VALUES ('".$kode_barang."', '".$nama_barang."', '".$qty."', '".$harga_beli."', '".$jumlah."'), ('".$kode_barang."', '".$nama_barang."', '".$qty."', '".$harga_beli."', '".$jumlah."')"; $sql =mysqli_query($connect, $query); if ($sql){ header ("location: faktur.php"); }else{ echo "Error."; echo "<br><a href='input_faktur.php'>Back</a>"; } ?> 

Si noti che il mio 'Kode Barang' è un'opzione a discesa e each volta che un utente fa clic su un ID object, il nome dell'elemento verrà mostrato automaticamente nella colonna 'Nama Barang'. Tutto in questa pagina funziona perfettamente.

Ma, quando l'ho salvato nel database, non ha salvato entrambi gli elementi (elemento nella prima row e nella seconda row). Il database ha salvato solo il secondo elemento, ma lo ha salvato due volte. Quando aggiungo una row al tavolo diventano 3 righe, il database salva solo il terzo elemento e lo salva tre volte. Quando aggiungo [] al nome, come name=kode_barang[] , il database non ha salvato l'ID object, ma mostra solo il text "Array".

Qualcuno mi può aiutare con questo? Grazie.

Stai usando lo stesso nome per entrambi i tuoi campi usa un name="nama_barang[]" arrays name="nama_barang[]" and name="kode_barang[]"

fai un ciclo nel php per salvare each field individualmente