Cara insert 2 tabel di php

Wednesday, 24 February 2016 Edit

Oke pada kesempatan kali ini saya akan share saja apa yang saya tahu dan apa yang saya alami saat mengerjakan project, saya juga bingun membuat judul untuk postingan yang satu ini tapi initinya pada postingan ini saya ingin menyampaikan tutorial menginsert multiple data ke dalam dua tabel sekaligus, langsung saja pada pokok pembahasan, bagaimana caranya?? nah code di bawah ini mudah mudahan bisa memberikn pencerahan bagi anda :

<?php
if(isset($_POST['simpanpo'])){
                $pono        = $a;
                $podate        = $b;
                $plantcode  = $c;
                $eta        = $d;
                $vendor        = $e;
                $createdby  = $f;
                $createdon  = $g;
                $modifiedby = $h;
                $modifiedon = $i;
                $partcode   = $j;
                $orderqty   = $k;
                
                
                        $insert = mysqli_query($koneksi, "INSERT INTO t_po(f_pono, f_podate, f_plantcode, f_eta, f_vendor, f_createdby, f_createdon, f_modifiedby, f_modifiedon)
                                                          VALUES('$pono','$podate', '$plantcode', '$eta', '$vendor', '$createdby', '$createdon', '$modifiedby', '$modifiedon');") or die(mysqli_error());
                        if($insert){
                                    
                                    $input = mysqli_query($koneksi, "INSERT INTO t_po_detail(f_pono, f_partcode, f_orderqty)
                                                            VALUES('$pono','$partcode', '$orderqty')") or die(mysqli_error());
                                                            
                                    $delete = mysqli_query($koneksi, "DELETE FROM t_po_transit");
                                         
                                          session_unset();
                                          session_destroy();
                              echo "<script>alert('PO Berhasil dimasukan!'); window.location = 'po.php'</script>";      
                                    
                        }else{
                            echo '<div class="alert alert-danger alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>Ups, Data Departement Gagal Di simpan !</div>';
                        }
            
                
            }
?>
 

Nah kira kira seperti itu query yang saya gunakan saat insert data secara masal ke dua tabel sekaligus, semoga bisa bermanfaat snippet code ini bisa memberi pencerahan bagi rekan - rekan sekalian. Happy coding & Programming.

Ada banyak cara untuk menyimpan data kedalam dua tabel atau lebih dalam sekali proses atau hanya dengan satu statement.  biasanya para programmer mencari solusinya dengan menggunakan cara trigger, yaitu trigger bersamaan dengan perintah insert akan melakukan query ke tabel lain dan mengembalikan nilai logik yang membantu membatasi data yang diberikan kepada kolom tertentu.

Namun dalam perkembangannya, Insert Statement saat ini memiliki sub-klausa OUTPUT. dengan memanfaatkan sub-klausa OUTPUT tersebut kita dapat membuat 1 buah statement insert yang dapat melakukan insert data ke 2 buah tabel sekaligus.

Misalkan kita mempunyai 2 tabel yaitu tabel pendaftaran dengan nama TPendaftaran dan tabel detail pendaftaran dengan nama TDetailPendaftaran. Tabel TPendaftaran memiliki field No_Pendaftaran, Tgl_Pendaftaran, Nama_Calon dan tabel detail pendaftaran memiliki field No_Pendaftaran,Kode_Jurusan,rata_nilai_un.

Dengan 1 statement dibawah ini kita bisa memasukkan (insert) data kedalam tabel TPendaftaran dan TDetailPendaftaran sekaligus tanpa harus membuat trigger. Berikut contohnya:

INSERT INTO TPendaftaran (No_Pendaftaran, Tgl_Pendaftaran, Nama_Calon)
OUTPUT INSERTED.'201406001', '121','8.0'
INTO TDetailPendaftaran (No_Pendaftaran, Kode_Jurusan, rata_nilai_un)
VALUES  ('201406001','24-05-2014','Siti');

Sumber : https://www.webhozz.com/blog/insert-data-ke-dalam-2-table-dalam-satu-waktu/

Penggabungan antara dua tabel sangatlah perlu, agar relationship dapat bekerja, berikut adalah cara penggabungan dua atau lebih tabel pada Bahasa Pemrograman PHP dan MySQL.


Cara insert 2 tabel di php
Contoh tabel user

Pada contoh kali ini, saya akan mempraktikan cara menggabungkan data siswa dengan data user yang sudah memiliki relasi dengan menggunakan perintah SQL Inner Join.

Pertama, buat dahulu databasenya, kita beri saja nama ‘db’, kemudian eksekusi query berikut pada MySql:

CREATE TABLE IF NOT EXISTS `tblsiswa` (
`NIS` varchar(15) NOT NULL,
`Nama` varchar(30) NOT NULL,
`Alamat` text NOT NULL,
PRIMARY KEY (`NIS`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Kemudian kita buat juga tabel usernya, eksekusi query berikut:
CREATE TABLE IF NOT EXISTS `tbluser` (
`Id` int(5) NOT NULL AUTO_INCREMENT,
`Username` varchar(15) NOT NULL,
`Password` varchar(15) NOT NULL,
`NIS` varchar(15) NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

Nah, sekarang kita isi tabelnya dengan mengeksekusi perintah INSERT ke dalam tabel user, gunakan query berikut:
INSERT INTO `tbluser` (`Id`, `Username`, `Password`, `NIS`) VALUES
(1, 'alvian', 'alvian', '11265');

Jangan lupa masukkan data ke tabel siswa, gunakan query yg ini:
INSERT INTO `tblsiswa` (`NIS`, `Nama`, `Alamat`) VALUES
('11265', 'Alvian', 'Banjarnegara');

Setelah selesai, sekarang buat file php kemudian masukkan kode skrip dibawah ini:
<?php
$server = "localhost";
$username = "root";
$password = "";
$database = "db";

mysql_connect($server,$username,$password) or die("Koneksi gagal");
mysql_select_db($database) or die("Database tidak bisa dibuka");

$Query = mysql_query("SELECT * FROM tbluser
INNER JOIN tblsiswa
ON tblsiswa.NIS = tbluser.NIS");

$RecordSet = mysql_fetch_array($Query);

echo "Profil: <br><br>";
echo "NIS: $RecordSet[NIS]<br>";
echo "Username: $RecordSet[Username]<br>";
echo "Password: $RecordSet[Password]<br>";
echo "Nama: $RecordSet[Nama]<br>";
echo "Alamat: $RecordSet[Alamat]<br>";
?>

Setelah itu coba dibuka melalui browser, maka tabel siswa dan tabel user akan menyatu dan sudah menjadi kesatuan baris data yang padahal mereka ada di tabel yang berbeda.

Cara insert 2 tabel di php
Hasil gabungan tabel 1 dan 2

Dalam hal implementasi, sama dengan pengambilan data (retrieve) seperti yang ada pada sebagian besar sosial media, mereka umumnya memisahkan tabel data profil dengan data user di tabel yang berbeda, untuk mencegah kerumitan data sekaligus normalisasi.

Sedangkan untuk menggabungkan tiga tabel kita cukup menambah perintah inner join lagi pada variabel Query yang ada pada sintaks PHP, contohnya begini:
SELECT * FROM tbluser
INNER JOIN tblsiswa
ON tblsiswa.NIS = tbluser.NIS
INNER JOIN blabla
ON blabla.bla = blabla.bla

begitu pun seterusnya bila kita memerlukan penggabungan lebih dari 3 tabel, maka kita cukup tambahkan perintah inner join dibawahnya lagi

Cara insert 2 tabel di php

Terimakasih sudah berkunjung di alvian-cs.blogspot.com, silakan membaca artikel yang lainnya lagi dan jangan lupa berkomentar cerdas dengan tidak membuat SPAM :)